加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

神器stata-5:todummy生成虚拟变量

(2013-04-24 21:35:10)
标签:

todummy

stata

dummy

教育

分类: 神器stata
todummy a2012,value(3\6)
todummy a2012,value(3\6) cut gen(wen1 wen2)

利用recode把原来的分类变量重组或者将连续变量变成分类变量,帮助我们更好的利用列联表或其他技术观察了变量之间的关系,但是,回归时,我们需要的是dummy!
在recode的基础上,利用tab x,gen()当然可以。
直接利用gen和replace生成也可以。
不过todummy更加简便。

例如:
a2012是表征文化程度的一个分类变量。
. fre a2012

a2012 -- 文化程度
-----------------------------------------------------------
              |      Freq.    Percent      Valid       Cum.
--------------+--------------------------------------------
Valid   1     |       2473       8.43      10.10      10.10
        2     |       5085      17.34      20.76      30.86
        3     |       8035      27.40      32.80      63.66
        4     |       3522      12.01      14.38      78.04
        5     |       1510       5.15       6.16      84.20
        6     |       1828       6.23       7.46      91.66
        7     |       1822       6.21       7.44      99.10
        8     |        173       0.59       0.71      99.81
        9     |         47       0.16       0.19     100.00
        Total |      24495      83.53     100.00           
Missing .     |       4829      16.47                      
Total         |      29324     100.00                      
-----------------------------------------------------------

如果我们只想考察a2012==3 和 a2012==6两种情况,则可以这样操作:
. todummy a2012,value(3\6)
默认生成了a20121和a20122两个虚拟变量,注意missing value依然不变。
. fre  a20121

a20121
-----------------------------------------------------------
              |      Freq.    Percent      Valid       Cum.
--------------+--------------------------------------------
Valid   0     |      16460      56.13      67.20      67.20
        1     |       8035      27.40      32.80     100.00
        Total |      24495      83.53     100.00           
Missing .     |       4829      16.47                      
Total         |      29324     100.00                      
-----------------------------------------------------------

. fre  a20122

a20122
-----------------------------------------------------------
              |      Freq.    Percent      Valid       Cum.
--------------+--------------------------------------------
Valid   0     |      22667      77.30      92.54      92.54
        1     |       1828       6.23       7.46     100.00
        Total |      24495      83.53     100.00           
Missing .     |       4829      16.47                      
Total         |      29324     100.00                      
-----------------------------------------------------------

检查一下是不是符合心愿
. tab a20121 a2012
           |        a20121
  文化程度 |         0          1 |     Total
-----------+----------------------+----------
         1 |     2,473          0 |     2,473 
         2 |     5,085          0 |     5,085 
         3 |         0      8,035 |     8,035 
         4 |     3,522          0 |     3,522 
         5 |     1,510          0 |     1,510 
         6 |     1,828          0 |     1,828 
         7 |     1,822          0 |     1,822 
         8 |       173          0 |       173 
         9 |        47          0 |        47 
-----------+----------------------+----------
     Total |    16,460      8,035 |    24,495 


. tab a2012 a20122

           |        a20122
  文化程度 |         0          1 |     Total
-----------+----------------------+----------
         1 |     2,473          0 |     2,473 
         2 |     5,085          0 |     5,085 
         3 |     8,035          0 |     8,035 
         4 |     3,522          0 |     3,522 
         5 |     1,510          0 |     1,510 
         6 |         0      1,828 |     1,828 
         7 |     1,822          0 |     1,822 
         8 |       173          0 |       173 
         9 |        47          0 |        47 
-----------+----------------------+----------
     Total |    22,667      1,828 |    24,495 

如果我们想要的不是a2012==3 和 a2012==6,而是a2012>=3 和 a2012>=6,则这样
. todummy a2012,value(3\6) cut gen(wen1 wen2)

同样,检查一下,
. tab a2012 wen1

           |     a2012 (>= 3)
  文化程度 |         0          1 |     Total
-----------+----------------------+----------
         1 |     2,473          0 |     2,473 
         2 |     5,085          0 |     5,085 
         3 |         0      8,035 |     8,035 
         4 |         0      3,522 |     3,522 
         5 |         0      1,510 |     1,510 
         6 |         0      1,828 |     1,828 
         7 |         0      1,822 |     1,822 
         8 |         0        173 |       173 
         9 |         0         47 |        47 
-----------+----------------------+----------
     Total |     7,558     16,937 |    24,495 
注意,表头直接用a2012 (>= 3)表示wen1

. tab a2012 wen2

           |     a2012 (>= 6)
  文化程度 |         0          1 |     Total
-----------+----------------------+----------
         1 |     2,473          0 |     2,473 
         2 |     5,085          0 |     5,085 
         3 |     8,035          0 |     8,035 
         4 |     3,522          0 |     3,522 
         5 |     1,510          0 |     1,510 
         6 |         0      1,828 |     1,828 
         7 |         0      1,822 |     1,822 
         8 |         0        173 |       173 
         9 |         0         47 |        47 
-----------+----------------------+----------
     Total |    20,625      3,870 |    24,495 
注意,表头直接用a2012 (>= 6)表示wen2

如果我们想要的是(3,5】、(6,8】两类,则
 todummy a2012,value(=3 5\=6 8) cut gen(wen3 wen4)
. tab a2012 wen3

           |      a2012 (3-5)
  文化程度 |         0          1 |     Total
-----------+----------------------+----------
         1 |     2,473          0 |     2,473 
         2 |     5,085          0 |     5,085 
         3 |     8,035          0 |     8,035 
         4 |         0      3,522 |     3,522 
         5 |         0      1,510 |     1,510 
         6 |     1,828          0 |     1,828 
         7 |     1,822          0 |     1,822 
         8 |       173          0 |       173 
         9 |        47          0 |        47 
-----------+----------------------+----------
     Total |    19,463      5,032 |    24,495 

实际上,todummy用在连续变量上更强大!





0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有