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

神器stata-2:二维列联表图形化

(2013-04-18 20:10:35)
标签:

二维列联表

graph

bar

stata

文化

分类: 神器stata
tab x y之后,结果如何变成图呢?
——直接用graph bar,但我不知道如何排序,请教各位大虾。
——生成新变量,排序图形更美观

例如:
根据调查数据,考察了各省市企业年金覆盖情况
tab province y,nof row
          |           y
  province |         0          1 |     Total
-----------+----------------------+----------
      北京 |     97.27       2.73 |    100.00 
      天津 |    100.00       0.00 |    100.00 
      河北 |     16.91      83.09 |    100.00 
      山西 |     85.71      14.29 |    100.00 
      辽宁 |     79.89      20.11 |    100.00 
      吉林 |     66.67      33.33 |    100.00 
    黑龙江 |     97.32       2.68 |    100.00 
      上海 |     86.00      14.00 |    100.00 
      江苏 |     46.13      53.87 |    100.00 
      浙江 |     57.18      42.82 |    100.00 
      安徽 |     61.33      38.67 |    100.00 
      江西 |     87.27      12.73 |    100.00 
      山东 |     66.76      33.24 |    100.00 
      河南 |     94.74       5.26 |    100.00 
      湖北 |     49.64      50.36 |    100.00 
      湖南 |     40.69      59.31 |    100.00 
      广东 |     78.09      21.91 |    100.00 
      广西 |     83.33      16.67 |    100.00 
      重庆 |     37.41      62.59 |    100.00 
      四川 |     60.00      40.00 |    100.00 
      贵州 |     60.00      40.00 |    100.00 
      云南 |     63.33      36.67 |    100.00 
      陕西 |      0.00     100.00 |    100.00 
      甘肃 |    100.00       0.00 |    100.00 
      青海 |    100.00       0.00 |    100.00 
-----------+----------------------+----------
     Total |     63.70      36.30 |    100.00 

自然希望把各省的覆盖率转换成图,更加直观。但遗憾的是,stata并不存储该列联表的结果,tab选项中提供的矩阵只包含行名、列名和频数,我们想要的行比例没有。

——方法1
一个笨办法是,把我们需要的数据变成两个新变量,然后用graph bar来表达,还能按照大小排序呢。
生成 x1,代表省份
生成 y1,代表比例
     +----------------+
     |     x1      y1 |
     |----------------|
  1. |   北京    2.73 |
  2. |   天津       0 |
  3. |   河北   83.09 |
  4. |   山西   14.29 |
  5. |   辽宁   20.11 |
     |----------------|
  6. |   吉林   33.33 |
  7. | 黑龙江    2.68 |
  8. |   上海      14 |
  9. |   江苏   53.87 |
 10. |   浙江   42.82 |
     |----------------|
 11. |   安徽   38.67 |
 12. |   江西   12.73 |
 13. |   山东   33.24 |
 14. |   河南    5.26 |
 15. |   湖北   50.36 |
     |----------------|
 16. |   湖南   59.31 |
 17. |   广东   21.91 |
 18. |   广西   16.67 |
 19. |   重庆   62.59 |
 20. |   四川      40 |
     |----------------|
 21. |   贵州      40 |
 22. |   云南   36.67 |
 23. |   陕西     100 |
 24. |   甘肃       0 |
 25. |   青海       0 |
     |----------------|
 26. |      .       . |
 27. |      .       . |
 28. |      .       . |
 29. |      .       . |
 30. |      .       . |
     +----------------+
graph hbar (asis) y1, over(x1, sort(y1)) blabel(bar)

——办法2
直接用graph bar,但我不知道如何排序,请教各位大虾。
graph hbar (sum) y, over(province) blabel(bar)



0

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

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

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

新浪公司 版权所有