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

标签:
二维列联表graphbarstata文化 |
分类: 神器stata |
tab x y之后,结果如何变成图呢?
——直接用graph bar,但我不知道如何排序,请教各位大虾。
——生成新变量,排序图形更美观
|
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
+----------------+
|
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. |
.
. |
+----------------+
例如:
根据调查数据,考察了各省市企业年金覆盖情况
tab province y,nof row
-----------+----------------------+----------
-----------+----------------------+----------
自然希望把各省的覆盖率转换成图,更加直观。但遗憾的是,stata并不存储该列联表的结果,tab选项中提供的矩阵只包含行名、列名和频数,我们想要的行比例没有。
——方法1
一个笨办法是,把我们需要的数据变成两个新变量,然后用graph bar来表达,还能按照大小排序呢。
生成 x1,代表省份
生成 y1,代表比例
graph hbar (asis) y1, over(x1, sort(y1)) blabel(bar)
——办法2
直接用graph bar,但我不知道如何排序,请教各位大虾。
graph hbar (sum) y, over(province) blabel(bar)