绘制具有不同变量的coefplot子图

时间:2019-06-21 15:13:32

标签: stata coefplot

我将模型的结果与社区贡献的命令coefplot结合在一起,希望每个子图只包含每个模型中存在的变量。

考虑以下玩具示例:

sysuse auto, clear
eststo m1: reg price c.trunk c.mpg
eststo m2: reg price c.trunk c.weight
coefplot m1 || m2, drop(_cons) byopts(cols(1))

Figure with two subgraphs, each of which have trunk, mpg, and weight rows

请注意,即使该变量不在该模型中,结果图形的每个子图也包含来自两个模型的所有变量(除去的常量除外)。

我想要的是一个版本,其中每个子图仅包含其模型中存在的变量。换句话说,第一个子图应包含trunkmpg,第二个子图应包含trunkweight

下面的模型是我想要的输出的一个示例:

Figure with two subgraphs, the first of which contains <code>trunk</code> and <code>mpg</code> and the second of which contains <code>trunk</code> and <code>weight</code>

我尝试以各种组合方式使用keepdrop,但没有一个起作用。例如,我尝试以下操作均未成功:

coefplot m1, keep(mpg) || m2, keep(weight) ||, drop(_cons) byopts(cols(1))

我在这里错过了什么吗,还是coefplot根本不可能做到?

1 个答案:

答案 0 :(得分:0)

写完问题后,我意识到我可以使用graph combine

coefplot m1, drop(_cons) saving(g1)
coefplot m2, drop(_cons) saving(g1)
graph combine g1.gph g2.gph, cols(1)

也就是说,该选项不是最佳选择,因为它需要进行大量清理才能使所有内容正确对齐(至少在coefplot变得更复杂时)。因此,如果有人在coefplot内有答案,我很乐意接受。