0

我的模型具有不同的因变量 (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 轴”上的每个型号。

在此处输入图像描述

4

1 回答 1

0

社区贡献的命令不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是根据我最近在以下两个问题中展示的 hack 绘制的:

结果是一个非常好的近似值,但需要您进行实验:

在此处输入图像描述

于 2019-01-31T13:32:09.157 回答