我无法在glmer中获得lsmeans输出

时间:2015-02-26 20:45:10

标签: r output mixed-models lsmeans

列表。

我有一个使用lmer.test包并调用glmer的通用混合模型。我可以得到一个好的模型,但是我无法获得LSMEANS和Diff的输出。

这就是我所拥有的

library(plyr)
library(lubridate)
library(chron)
library(reshape)
library(lattice)
library(car)
library(lmerTest)


fm17<-glmer(I(Steps+1)~Treatment + treatdate +Weight + BF+ (1|Block) +(0+treatdate|exp.unit), family=poisson)
summary(fm17,ddf="Kenward-Roger")
qqnorm(resid(fm17),main="QQ Model 17")
plot(fm17,main="Residual Model 17")
anova(fm17, ddf="Kenward-Roger")
lsmeans(fm17)
difflsmeans(fm17)

一直运行良好,直到LSMEANS声明

这是输出     摘要(fm17,DDF = “Kenward-罗杰”)     qqnorm(resid(fm17),main =“QQ Model 17”)     情节(fm17,main =“剩余模型17”)     anova(fm17,ddf =“Kenward-Roger”) 以上所有工作都很好

  

LSMEANS(fm17)   lsmeans中的错误(fm17):模型不是线性混合效应模型   difflsmeans(fm17)   difflsmeans中的错误(fm17):模型不是线性混合效应模型

如何获得有关如何获得该输出的任何帮助将非常感激。

2 个答案:

答案 0 :(得分:2)

lsmeans 包支持glmerMod个对象,但它不支持这些模型的Kenward-Rogers df(这些依赖的 pbkrtest 包也不支持上)。你想要什么因素?您需要在通话中为其命名。做这样的事情

detach(lmerTest)
library(lsmeans)
lsmeans(fm17, "Treatment")
pairs(.Last.value)

df在结果中显示为NA,表示使用了渐近结果($ z $ tests和CI)。

答案 1 :(得分:1)

lmerTest仅支持线性混合效果模型(lmer对象)。您使用的anova方法实际上来自lme4包,这就是您没有收到错误的原因 - 模型fm17属于glmerMod类。在lmerTest中,只重新指定了lmer对象的anova。您使用的lsmeans和difflsmeans函数来自lmerTest包,因此会给出一个错误,指出您的模型不是lmer对象。