You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Stata绘制分组散点图时如何按x聚合展示y的均值?

解决方案

完全不需要手动计算40次均值,Stata有内置方法可以直接实现你的需求,两种常用方案如下:

  • 方案1:直接一步绘图,无需修改原始数据集
    用twoway mean命令即可,命令内部会自动按x、z分组计算y的均值后生成散点图,示例代码如下:
twoway mean y x if z==0 || mean y x if z==1, legend(label(1 "z=0") label(2 "z=1")) ytitle("y均值")

如果你的x是连续变量,想要按自定义数量的分箱计算均值,增加bin(#)参数即可,比如要分20个箱就写成:

twoway mean y x if z==0, bin(20) || mean y x if z==1, bin(20) legend(label(1 "z=0") label(2 "z=1")) ytitle("y均值")
  • 方案2:先批量聚合再绘图(适合需要后续复用均值数据的场景)
    用collapse命令可以批量生成所有x-z分组的y均值,不需要手动逐个计算,代码如下:
* 建议先保存原始数据集,避免聚合后原数据被覆盖
save "原始数据备份.dta", replace
* 按x、z分组计算y均值,执行后原数据集会被替换为聚合后的数据集
collapse (mean) y, by(x z)
* 用聚合后的数据绘图
scatter y x if z==0 || scatter y x if z==1, legend(label(1 "z=0") label(2 "z=1")) ytitle("y均值")

注意:如果你的x取值存在空值,可在所有命令前加if !missing(x,z,y)过滤缺失样本,避免聚合结果出现偏差。

内容的提问来源于stack exchange,提问作者Martan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 07:45:03