在上一篇講到用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不要放喔!
標籤: 統計分析