对于任何错误,我想提前道歉-我是R的初学者。我也知道这个问题之前曾被问过几次,但到目前为止我找不到解决问题的方法。
对于我的硕士学位论文,我使用以下面板数据集:
> pdim(mdata)
Balanced Panel: n = 54, T = 18, N = 972
> head(mdata)
country years credit_growth mpi exch_r gdp_growth crisis policyrate gdpcapita credit_gdp icrg
Albania 2000 NA 0 0 6.666620 0 NA 2337.942 4.742492 0.48
Albania 2001 0.06155542 0 0 7.940331 0 7.00 2547.377 5.989352 NA
Albania 2002 0.30424439 0 0 4.231371 0 8.50 2663.140 6.419175 0.56
Albania 2003 0.33850178 0 0 5.773491 0 6.50 2827.456 7.547467 0.56
Albania 2004 0.69401655 0 0 5.709557 0 5.25 3001.409 9.549460 0.55
Albania 2005 0.53644869 0 0 5.720820 0 5.00 3189.395 15.263630 0.56
我需要使用gmm模型,并想使用plm软件包中的pgmm命令(我尝试过1.7和1.8版本)。
可以执行以下命令(将gdp_growth作为因变量)
diff1 <- pgmm(gdp_growth ~ lag(gdp_growth) + lag(mpi) + lag(crisis) + lag(policyrate) | lag(gdp_growth, 2:99) | lag(mpi, 2) | lag(crisis, 2) | lag(policyrate, 2), mdata, model="twostep", effect="twoways")
不需要(我需要使用credit_growth作为因变量)
diff2 <- pgmm(credit_growth ~ lag(credit_growth) + lag(mpi) + lag(crisis) + lag(policyrate) | lag(credit_growth, 2:99) | lag(mpi, 2)| lag(crisis, 2) | lag(policyrate, 2), mdata, model="twostep", effect="twoways")
它总是产生以下错误:
Error in solve.default(crossprod(WX, t(crossprod(WX, A1)))) : Lapack routine dgesv: system is exactly singular: U[20,20] = 0
有人知道如何解决这个问题吗?我看不到它如何取决于我的变量credit_growth。它有很多缺失点,但这似乎不是问题。