请查看我的数据示例和pgmm代码,并告诉我是否使用了正确的语法。
Y1是我的因变量,带有C *变量的X *是我的自变量和控制变量。我试图以两年的滞后时间运行动态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")
答案 0 :(得分:0)
是的,您的更新版本显示正确。您可能更喜欢使用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))
]