这里的新手。我在lmerTest和stargazer的工作中遇到了问题。我在这里学习本教程,让stargazer在R中使用lme4。
http://svmiller.com/blog/2015/02/quasi-automating-the-inclusion-of-random-effects-in-rs-stargazer-package/
我运行这个示例时没有任何问题。
library(lme4)
library(stargazer)
data(cake)
summary(M1 <- lmer(angle ~ temp + (1 | replicate) + (1|recipe:replicate), cake, REML= FALSE))
summary(M2 <- lmer(angle ~ factor(temperature) + (1 | replicate) + (1|recipe:replicate), cake, REML= FALSE))
anova(M1,M2)
stargazer(M1, M2, style="ajps", title="An Illustrative Model Using Cake Data", dep.var.labels.include = FALSE,
covariate.labels=c( "Temperature (Continuous)", "Temperature (Factor $<$ 185)", "Temperature (Factor $<$ 195)", "Temperature (Factor $<$ 205)", "Temperature (Factor $<$ 215)", "Temperature (Factor $<$ 225)")
)虽然这是可行的,但是如果我包括lmerTest包,stargazer就不再工作了。
library(lme4)
library(lmerTest)
library(stargazer)
data(cake)
summary(M1 <- lmer(angle ~ temp + (1 | replicate) + (1|recipe:replicate), cake, REML= FALSE))
summary(M2 <- lmer(angle ~ factor(temperature) + (1 | replicate) + (1|recipe:replicate), cake, REML= FALSE))
anova(M1,M2)
stargazer(M1, M2, style="ajps", title="An Illustrative Model Using Cake Data", dep.var.labels.include = FALSE,
covariate.labels=c( "Temperature (Continuous)", "Temperature (Factor $<$ 185)", "Temperature (Factor $<$ 195)", "Temperature (Factor $<$ 205)", "Temperature (Factor $<$ 215)", "Temperature (Factor $<$ 225)")
)
Error in objects[[i]]$zelig.call :
$ operator not defined for this S4 class我真的很想使用stargazer,但是我的实验要求使用merModLmerTest对象,而stargazer不支持这些对象。有人知道解决办法吗?将merModLmerTest对象转换为兼容的lmerMod对象有多困难?
发布于 2018-04-27 22:09:39
这是一个简单的解决办法。将lmerTest (在merModLmerTest类中)的输出转换为lmerMod类。这将与观星者兼容。
class(model) <- "lmerMod"发布于 2015-07-15 19:32:31
只要看一看这些代码,我认为这是一个stargazer问题。stargazer可以读取类lmerMod的对象,而不是merModLmerTest。由于作者描述的那个黑客需要stargazer包才能通过stargazer包含随机效果,所以我认为您被困住了。
如果您的工作确实需要lmerTest (看起来像anova函数,对吗?),我建议如下。
lme4估计模型。您可以通过键入lme4::lmer(y + x1, Data)来做到这一点。由于您在lme4之后加载了lme4包,因此lmerTest实际上成为运行lmer函数的默认包。这就是为什么您的对象成为stargazer无法读取的类的原因。到头来,它是同一个型号,只是存储方式不同。xtable在LaTeX中创建anova结果,如果这正是您想要的。这个修改后的代码应该对你有帮助。
library(lme4)
library(lmerTest)
library(stargazer)
library(xtable)
data(cake)
# Get the table first.
summary(M1 <- lme4::lmer(angle ~ temp + (1 | replicate) + (1|recipe:replicate), cake, REML= FALSE))
summary(M2 <- lme4::lmer(angle ~ factor(temperature) + (1 | replicate) + (1|recipe:replicate), cake, REML= FALSE))
stargazer(M1, M2, style="ajps", title="An Illustrative Model Using Cake Data", dep.var.labels.include = FALSE,
covariate.labels=c( "Temperature (Continuous)", "Temperature (Factor $<$ 185)", "Temperature (Factor $<$ 195)", "Temperature (Factor $<$ 205)", "Temperature (Factor $<$ 215)", "Temperature (Factor $<$ 225)")
)
# now for lmerTest
summary(M1a <- lmer(angle ~ temp + (1 | replicate) + (1|recipe:replicate), cake, REML= FALSE))
summary(M2a <- lmer(angle ~ factor(temperature) + (1 | replicate) + (1|recipe:replicate), cake, REML= FALSE))
anovadf <- data.frame(anova(M1a,M2a))
xtable(anovadf)https://stackoverflow.com/questions/31319030
复制相似问题