plm包:使用一个变量时,pgmm /系统完全是单数

时间:2019-01-18 13:36:42

标签: r lapack plm

对于任何错误,我想提前道歉-我是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。它有很多缺失点,但这似乎不是问题。

0 个答案:

没有答案