Stata多回归模型标准误差对比分组水平条形图绘制问题
问题原因
代码出现条形重叠的核心原因是未将自变量作为分组维度传入绘图命令,且eclplot的参数配置不符合单值并列展示的需求。直接使用Stata原生的graph hbar命令即可实现需求,无需依赖额外绘图包。
完整可运行代码
以下是优化后的数据处理+绘图全流程代码,可直接运行,也适配你提到的后续6组回归的扩展需求:
sysuse auto, clear tempfile res_data save res_data, empty replace * 批量运行普通标准误回归 foreach var in mpg rep78 { preserve reg price `var' regsave `var' gen se_type = "普通SE" append using res_data save res_data, replace restore } * 批量运行稳健标准误回归 foreach var in mpg rep78 { preserve reg price `var', robust regsave `var' gen se_type = "Robust SE" append using res_data save res_data, replace restore } use res_data, clear * 绘制并列水平条形图 graph hbar (asis) stderr, /// over(var) /// 自变量作为一级分类轴 over(se_type) /// 标准误类型作为二级并列分组 ytitle("标准误数值") /// blabel(bar, format(%4.1f) position(outside)) /// 条形上展示具体数值 bar(1, color(navy)) bar(2, color(maroon)) /// 自定义两类条形的颜色 title("不同回归配置下的标准误对比")
适配说明
如果后续需要扩展到6组回归,只需要修改foreach var in mpg rep78中的自变量列表,加入你需要的其他自变量即可,绘图代码不需要调整,会自动生成对应分类的并列条形。(asis)参数会直接读取单条回归的标准误原始值,不会做均值聚合,完全符合你展示单条回归结果的需求。
内容的提问来源于stack exchange,提问作者daviddupont
相关产品推荐
相关产品推荐

