[R] singular matrices in plm::pgmm()

Richard Foltyn richard.foltyn at gmail.com
Sun Mar 8 10:06:12 CET 2009


Hi list,

has anyone succeeded in using pgmm() on any dataset besides
Arellano/Bond's EmplUK, as shown in the vignette?
Whatever I try, I eventually get a runtime error because of a singular
matrix at various points in pgmm.diff() (which gets called by pgmm()).

For example, when estimating a "dynamic" version of the Grunfeld data:

data(Grunfeld, package="Ecdat")
grun <- pgmm(dynformula(inv ~ value + capital, lag=list(1,1,1),
log=T), data=Grunfeld, gmm.inst=~log(inv), lag.gmm=list(c(2,5)),
model="twosteps")
Error in solve.default(suml(A2)) :
  system is computationally singular: reciprocal condition number = 8.83721e-21


I read all the documentation available and tried stepping through the
source code, but pgmm.diff() is not exactly the easiest function to
understand, especially given R's suboptimal debugging facilities.

Please let me know if you had better luck with your estimation.

Thanks,
Richard




More information about the R-help mailing list