楼主: 吾梦初醒
21271 16

[作图问题求助] 如何用stata画出分组变量的图形 [推广有奖]

11
zdlspace 学生认证  发表于 2021-1-6 22:07:48
5039899 发表于 2021-1-6 21:47
gao gao gao
感觉我画出来的比原图好看,哈哈哈

12
bbtv 发表于 2021-5-8 16:33:05
zdlspace 发表于 2021-1-6 02:25
想问一下,这里的第六步是什么意思呀

13
zdlspace 学生认证  发表于 2021-5-8 17:44:03
bbtv 发表于 2021-5-8 16:33
想问一下,这里的第六步是什么意思呀
第六步是什么

14
zdlspace 学生认证  发表于 2021-6-25 16:05:28
如果下载不了bytwoway,可以试用sepscatter
  1. ssc inst sepsctter,replace
  2. sepscatter health grade ,sep(d) recast(connected)  ///
  3.            xtitle("Years of Education") ytitle("Health Status(1=Excellent,5=Poor)") ///
  4.            xlabel(8 "8 or fewer" 10 12 14 16 "16+") ///
  5.                    legend(order(1 "25-34" 2 "35-44" 3 "45-54" 4 "55-64" 5 "65+") col(1))
复制代码

15
zhan.y 学生认证  发表于 2022-1-14 16:28:53
zdlspace 发表于 2021-1-6 12:35
我居然还真的花时间画了这幅图,供后来者参考,希望对大家有帮助。代码如下:
画出来带箭头的图形如下:
...
请问这个group是指什么啊

16
baoyifei1999 发表于 2023-2-22 23:59:55
zdlspace 发表于 2021-1-6 12:35
我居然还真的花时间画了这幅图,供后来者参考,希望对大家有帮助。代码如下:
画出来带箭头的图形如下:
...
大神,请问在twoway connected命令的基础上,怎么只保留折线,去掉观测点啊

17
赵安豆 发表于 2024-8-26 20:31:31
为了在Stata中实现您的需求(即按年龄分组后展示不同教育水平与平均自我评价健康状况的关系),您可以按照以下步骤操作:

1. **数据清洗和准备**:
   确保您的数据已导入并正确格式化。假设您的变量是 `age` (年龄),`edu_years` (受教育年限),以及 `self_health` (自评健康)。

2. **定义年龄段和教育水平**:
   假设您已经决定将年龄分组为多个区间,例如:25-34岁。同样的,您可能也确定了特定的教育年数(如10年)作为分析点。
   
   ```stata
   // 用`egen`命令创建年龄段变量 (假设age是连续变量)
   egen age_group = cut(age), at(25(10)94) label
   
   // 假设您只关注受教育年限为特定值的数据,可以使用条件筛选数据集
   keep if edu_years == 10
   ```

3. **计算每个年龄段和教育水平下的自评健康平均值**:
   使用 `collapse` 或者 `tabstat` 等命令来汇总数据。

   ```stata
   collapse (mean) self_health, by(age_group)
   ```

4. **绘制线性关系图**:
   利用 `twoway line` 命令绘制平均自评健康与年龄段的关系图。

   ```stata
   twoway line self_health age_group, sort xlab(1(1)9)
   ```
   
   注意:`sort` 确保数据按年龄段升序排列,`xlab` 设置了X轴的标签显示。

如果您的数据量非常大,并且您希望在生成图表前先计算出每个年龄段内特定教育年限下自评健康平均值,请按照以下修改后的命令:

```stata
* 先筛选出特定教育水平的数据点(假设10年)
keep if edu_years == 10

* 然后按年龄分组,计算均值
collapse (mean) self_health, by(age_group)

* 使用`twoway line`绘制图形
twoway line self_health age_group, sort xlab(1(1)9)
```

这个流程将帮助您生成所需的线性关系图,并且考虑到数据量大的情况。希望这能帮到你!如果有任何疑问或需要进一步的说明,欢迎继续提问。

如果上述命令未能达到您的预期效果,请检查变量名称是否正确无误以及年龄和教育水平分组定义是否符合您的研究需求。

此文本由CAIE学术大模型生成,添加下方二维码,优先体验功能试用



您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-1-18 22:10