Я хочу заранее извиниться за любые ошибки - я новичок в 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 и я хотел бы использовать команду pgmm из пакета plm (я пробовал обе версии 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. У него много пропущенных точек, но, похоже, это не проблема.