如何从Stata的marginsplot图中删除不需要的指定数据?
Stata marginsplot仅保留指定分组线条的调整方法
你可以根据自己的使用场景选择以下两种方案:
方案1:计算边际效应时仅保留目标分组
该方案不需要计算多余分组的边际效应,运行效率更高,适合还未执行margins命令的场景:
- 你可以先执行
tab race确认目标分组对应的数值编码,也可以直接用变量标签匹配避免查编码 - 调整后的代码示例如下:
* 可选:查看race变量所有取值与对应标签 tab race, nolabel reg y x##i.race $controls * 方式A:用数值编码匹配,将1、3替换为你数据中URM、White, Domestic对应的实际数值 margins x if inlist(race, 1, 3), by(race) * 方式B:用标签文字匹配,引号内的内容要和变量标签完全一致 * margins x if inlist(label(race), "URM", "White, Domestic"), by(race) marginsplot
方案2:绘图阶段直接过滤要展示的系列
如果你已经计算完所有分组的边际效应,不想重复运行回归和margins命令,可以直接在marginsplot中用keep()参数过滤:
reg y x##i.race $controls margins x, by(race) * 同样将1、3替换为你目标分组对应的数值编码,字符串变量可直接写对应值 marginsplot, keep(1.race 3.race)
如果需要进一步调整线条颜色、粗细或者置信区间样式,可以在marginsplot后追加lineopts()、ciopts()等参数优化可读性。
内容的提问来源于stack exchange,提问作者Anonymous
相关产品推荐
相关产品推荐

