Stata: 產生虛擬變量(Create dummy variables)進階篇

上一篇講到用stata產生虛擬變量,方法是正確的,沒什麼問題,但如果你的變數裡有10個group,依照上次的作法,產生一個dummy variable要3行程式,10個group就要30行。其實30行程式也不是什麼大不了的,只不過是多了幾次複製與貼上而已。但如果你不是很在意dummy variable的名稱,我們有更快的方式可以完成。

我們一樣用上次的table來示範:

id language
1 1
2 1
3 2
4 3
5 .

只要一行程式就可以搞定:

tabulate language, gen(d)

這一行的意思是這樣的:tabulate language是先列出language所有的值,然後gen(d)會產生變數,變數的名稱是d開頭,然後從1到language的最大值。照我們的例子來說,language的值是1到3,最後就會產生d1、d2、d3三個變數,d1對應到language 值1,依此類推。

如果d1這種名稱讓你很困惑的話,你可以先大量產生dummy variables之後,再大量rename。rename的方式很簡單,像這樣:

rename d1 dChinese

其它依此類推。

記得最後放到計算的時候,要記得留一個dummy variable不要放喔

標籤: