Stata 16中如何在同面板展示多子样本回归的两个系数?
Stata coefplot 单面板对比子样本系数解决方案
要实现同一面板展示不同子样本中两个变量的系数(不同颜色区分),只需调整coefplot的参数,去掉导致分面板的bycoefs,并添加颜色、横轴标注等设置即可。以下是修改后的完整代码及说明:
修改后代码
webuse auto // 按子样本回归并存储结果 forval v=2/5 { reg price trunk mpg if rep78==`v' est store reg_`v' } // 生成单面板对比图 coefplot reg_2 reg_3 reg_4 reg_5, keep(trunk mpg) /// vertical /// 纵向柱状图 coeflabels(trunk="后备箱空间" mpg="里程") /// 变量中文标签 by(none) /// 强制使用单面板 color(navy maroon) /// 给两个变量设置不同颜色 xlabel(1 "rep78=2" 2 "rep78=3" 3 "rep78=4" 4 "rep78=5") /// 横轴标注子样本 legend(label(1 "后备箱空间") label(2 "里程") position(12)) /// 图例设置 ytitle("系数估计值") /// Y轴标题 title("不同子样本的系数对比") // 图表标题(可选)
关键参数说明
- 移除
bycoefs:这是原代码生成分面板的核心原因,替换为by(none)确保所有系数展示在同一面板。 color():指定trunk和mpg对应的颜色,直接区分两个变量的系数。xlabel():将横轴的每个位置对应到子样本(rep78的取值),让横轴标注清晰易懂。coeflabels():将变量名替换为中文标签,提升图表可读性。- 可选添加
addplot(line @b @at, lcolor(navy maroon)):给同一变量在不同子样本的系数添加折线,便于观察趋势。
内容的提问来源于stack exchange,提问作者barnetjohn
相关产品推荐
相关产品推荐

