0

请查看我的数据示例和我的 pgmm 代码,如果我使用了正确的语法,请告诉我。

Y1 是我的因变量,带有 C* 变量的 X* 是我的自变量和控制变量。我正在尝试以 2 年的滞后时间运行动态 GMM 模型,但这是我第一次使用 PGMM,我不确定这是否是正确的语法。

样本数据

我正在尝试运行下面的 pgmm 命令:

country <- pdata.frame(country, index = c('Co_Code', 'YEAR'))

model.gmm <- Y1 ~ lag(X1, 2) + lag(X2, 2) + lag(X3, 2) + lag(X7, 2) + 
lag(X6, 2) + lag(X4, 2) + lag(X5, 2) + lag(X8, 2) + lag(X9, 2) + 
lag(X10, 2) + lag(C1, 2) + lag(C2, 2) + lag(C3, 2) + lag(C6, 2) + lag(C7, 2)
gmm.form = update.formula(model.gmm, . ~ . | lag(Y1, 2))
gmm.form[[3]] <- gmm.form[[3]][[2]]


gmm.fit <- pgmm(gmm.form, data = country, effect = "twoways", model = 
"twosteps") 
 summary(gmm.fit)

编辑:我还生成了以下代码:

 gmm.fit <- pgmm(Y1 ~ X1 + X2 + X3 + X6 + X7 + X4 + X5 + X8 + X9 + X10 +    
 C1 + C2 + C3 + C6 |lag(X1, 2) + lag(X2, 2) + lag(X3, 2) + lag(X7, 2) + 
 lag(X6, 2) + lag(X4, 2) + lag(X5, 2) + lag(X8, 2) + lag(X9, 2) + 
 lag(X10, 2) + lag(C1, 2) + lag(C2, 2) + lag(C3, 2) + lag(C6, 2), data = 
 country, effect = "twoways", model = "twosteps")
4

1 回答 1

1

是的,您的更新版本与您所说的相符。您可能更喜欢使用 dynformula,基本结构是:

gmm.form <- dynformula(Y1~ X + C, lag.form=list(2,2,2))

这很容易概括为多个 X 和 C:

gmm.form <- dynformula(Y1~ X1 + X2 + X3 + X4 + X5 + X6 + X7 + X8 + X9 +X10 + C1 + C2
+ C3 + C4 + C5 +C6, lag.form=list(rep(2,17)))

此命令意味着您将为所有变量包含最多 2 个滞后(请注意,上面 lag.form 列表中的第一个Y1 - dynformula将自动将滞后Y1放在等式的右侧)。

[编辑:我注意到你没有指定工具。看到你的数据,对于滞后 Y 的标准动态面板方法,我会放gmm.inst=~Y1,gmm.lag=list(c(3,99))]

于 2018-08-06T10:02:42.453 回答