2017-06-18 177 views
0

我會用一個簡單的例子解釋我的問題:假設一個名爲「var」的變量帶有以下數據:yes,no,可能是。每一個作爲字符串。我需要做這樣的事情:如何從字符串變量中定義標籤? (Stata)

foreach i of 0/2{ 
label define lbl 'i' var['i'] 
} 

(我知道有一個語法錯了,但它只是一個例子)

的事情是,我要分配給標籤數據的每一個數值從de字符串變量var開始,並且必須從0開始(已經嘗試過編碼命令,但一直沒有能夠使用像foreach這樣的函數來更改de數值)。我需要這樣做,因爲我在變量中有很多不同的數據,不能一個一個地去做,並且拒絕相信我不能用stata代替文本編輯器。我將衷心感謝您的幫助。謝謝!

回答

2

也許使用encode命令與您的數據將完成您所需要的。

. list, clean 

     strvar 
    1.  yes 
    2.  no 
    3. maybe 
    4.  no 
    5.  yes 

. encode strvar, generate(numvar) label(l_numvar) 

. label list l_numvar 
l_numvar: 
      1 maybe 
      2 no 
      3 yes 

. list, clean nolabel 

     strvar numvar 
    1.  yes  3 
    2.  no  2 
    3. maybe  1 
    4.  no  2 
    5.  yes  3 

. list, clean 

     strvar numvar 
    1.  yes  yes 
    2.  no  no 
    3. maybe maybe 
    4.  no  no 
    5.  yes  yes 

. 
+1

-labmask-(-search labmask-查找討論和下載位置)也是相關的。 –

相關問題