问题
I am trying to use stargazer (Version 5.2) to output the standard summary() results of a regression estimated with Zelig (Version 5.0.13). However, I obtain the error
Error in envRefInferField(x, what, getClass(class(x)), selfEnv) :
‘result’ is not a valid field or method name for reference class “Zelig-ls”
when trying to feed the estimated model into stargazer.
A minimal working example reproducing the error would be
library(Zelig)
library(stargazer)
data("swiss")
z <- zls$new()
z$zelig(Fertility~Education, data=swiss)
stargazer(z)
I assume I need to somehow access the place where the estimated model is stored in the zelig object, but I am having trouble finding it.
回答1:
As of Zelig 5.0-13 and stargazer 5.2, stargazer doesn't seem to be able to handle Zelig's internal model. As a workaround, you can simply cast it to a "normal" lm to make it work:
stargazer(lm(z$zelig.out$z.out[[1]]), type='text')
Result:
===============================================
Dependent variable:
---------------------------
Fertility
-----------------------------------------------
Education -0.862***
(0.145)
Constant 79.610***
(2.104)
-----------------------------------------------
Observations 47
R2 0.441
Adjusted R2 0.428
Residual Std. Error 9.446 (df = 45)
F Statistic 35.446*** (df = 1; 45)
===============================================
Note: *p<0.1; **p<0.05; ***p<0.01
来源:https://stackoverflow.com/questions/41627048/using-stargazer-with-zelig