我有一些模型,这些模型具有不同的因变量(DV),但是使用相同的工具变量(IV),并且具有两种不同的识别策略。简而言之,我有:
Group1
model 1
model 2
model 3
model 4
Group2
model 1-2
model 2-2
model 3-2
model 4-2
我想绘制系数,以便可以比较模型1和模型1-2的IV的系数估计值;型号2和型号2-2 ...一次。我希望在一张图中绘制八个系数,因为所有模型的目标IV都相同。
是否有程式化的方式来做到这一点?
就目前而言,我只知道如何在一张图中绘制模型1和模型1-2的系数,而并非在其他所有图中绘制它们。我希望根据模型编号(1、2、3、4)水平绘制系数,并比较模型1和模型1-2的系数;型号2和型号2-2,分别针对“ x轴”上的每个型号。
答案 0 :(得分:1)
社区贡献的命令coefplot
并非旨在那样使用。
尽管如此,下面还是一个玩具示例,说明了如何获得想要的东西:
sysuse auto, clear
estimates clear
// code for identification strategy 1
regress price mpg trunk length turn if foreign == 0
estimates store A
regress price trunk turn if foreign == 0
estimates store B
regress price weight trunk turn if foreign == 0
estimates store C
regress price trunk if foreign == 0
estimates store D
// code for identification strategy 2
regress price mpg trunk length turn if foreign == 1
estimates store E
regress price trunk turn if foreign == 1
estimates store F
regress price weight trunk turn if foreign == 1
estimates store G
regress price trunk if foreign == 1
estimates store H
然后按如下所示绘制图:
local gap1 : display _dup(30) " "
local gap2 : display _dup(400) " "
local label1 |`gap1'|`gap1'|`gap1'|`gap2'
local gap3 : display _dup(25) " "
local gap4 : display _dup(400) " "
local label2 DV1`gap3'DV2`gap3'DV3`gap3'DV4`gap4'
coefplot (A, offset(-0.38)) (E, offset(-0.33)) ///
(B, offset(-0.15)) (F, offset(-0.1)) ///
(C, offset(0.09)) (G, offset(0.135)) ///
(D, offset(0.3)) (H, offset(0.35)), ///
vertical keep(trunk) coeflabels(trunk = `""`label1'""`label2'""') ///
xlabel(, notick labgap(0)) legend(off)
此处的代码使用Stata的玩具auto
数据集为每个foreign
类别运行许多简单的回归。相同的因变量price
用于说明,但是您可以在其位置使用不同的变量。此处假设变量trunk
是关注变量。
以上玩具代码片段的基本作用是保存每组回归估计,然后模拟成对的模型。标签DV
是根据我最近在以下两个问题中展示的黑客行为绘制的:
结果是一个很好的近似值,但需要您自己进行实验: