2013-10-18 45 views
1

我試圖在Stata 11.2的循環中標記變量,但我無法獲得擴展字符串函數word # of string成語的工作。「St#字符串」成語Stata(擴展字符串函數的一部分)

local names `""Growth" "Mature" "All""' 
forvalues i = 0/2 { 
    local name : word `i' of `names' 
    display "`name'" 
} 

這遵循Statalist solution,但我不斷收到invalid syntax錯誤。

我也試過local names Growth Mature All,但那也行不通。有沒有辦法做到這一點算法?

回答

6

word 0不起作用。 Stata開始計算在1。改變你的循環到1/3,它會工作。

另外,還要考慮tokenize

 
. tokenize `""Growth" "Mature" "All""' 

. forval i = 1/3 { 
    2.   di "``i''" 
    3. } 
Growth 
Mature 
All 

tokenize分割字符串爲標記,意思是由空格隔開字除非引號結合詞語在一起。這些代幣具有名稱1,2,3。當你繞着循環,i是第一個1,所以請求是顯示第一個宏等。

相關問題