我使用lme4包中的lmer和lmerTest。我的回归如下:
r1 <- lmer(a ~ b + c + as.factor(d) + (1 | e), data = df)
我想使用stargazer并使用此代码:
stargazer(r1, type = "text")
但是,它不起作用。 R返回此错误:
Error in objects[[i]]$zelig.call : $ operator not defined for this S4 class
实际上我不知道问题是什么,我已经检查过是否有相互不兼容的软件包,但似乎并非如此。有没有人知道问题可能是什么,或者在使用lmer时是否有替代stargazer?
这是lmerTest
和stargazer
之间的兼容性问题。如果lmerTest
与lme4
一起加载到R中,那么它将模型对象的类从"lmerMod"
更改为"lmerModLmerTest"
。只有前者与stargazer
兼容。
最简单的解决方法是避免首先加载lmerTest
,这对我有用。
真正的修复(来自R stargazer, lme4 and lmerTest incompatibility)是将模型对象的类更改回兼容的类:
class(r1) <- "lmerMod"