2017-11-10 133 views
-1

假設我有一個分類變量,例如表格中的國家/地區列。
如何快速添加每個類別的虛擬變量 - WITH A NAME NAME?在一個命令中將字符串變量更改爲一組分類變量

所以,如果列是針對國家的,那麼這個人是否居住在美國的變量將被稱爲美國而不是country16什麼的。

+0

小心:帶空格的國家名稱不會是合法的變量名稱。 ''美國'''會是這樣的。 –

回答

0

這是很容易的:

/* Make some fake data */ 
sysuse auto, clear 
gen make_only = subinstr(lower(word(make,1)),".","",.) 

/* Create meaningful dummies */ 
levelsof make_only, clean local(makes) 
foreach m of local makes { 
    gen `m' = cond(make_only=="`m'",1,0) 
} 

但是,它可能是更容易,只需使用因子變量符號:

sencode make_only, label(make_only) replace 
reg price i.make_only 
list make price if make_only=="amc":make_only 

迴歸輸出將被很好地標記,你沒有創建額外的變量,並且很容易引用特定的值。


sencode由Roger Newson撰寫,可從SSC獲得。

+0

@丹這幫助你嗎? –

相關問題