【问题标题】:I can't get lsmeans output in glmer我无法在 glmer 中获得 lsmeans 输出
【发布时间】:2015-02-26 20:45:09
【问题描述】:

列表。

我有一个使用 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="肯沃德-罗杰") qqnorm(resid(fm17),main="QQ模型17") plot(fm17,main="残差模型 17") anova(fm17, ddf="肯沃德-罗杰") 以上所有工作正常

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

任何有关如何恢复该输出的帮助将不胜感激。

【问题讨论】:

    标签: r output mixed-models lsmeans


    【解决方案1】:

    lsmeans 包确实支持 glmerMod 对象,但不支持这些模型的 Kenward-Rogers df(这些模型所依赖的 pbkrtest 包也不支持) .您想要 lsmeans 的哪些因素?您需要在通话中为他们命名。做这样的事情

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

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

    【讨论】:

    • 使用上面的代码,这就是我得到的 > lsmeans(fm17,"Treatment") eval 中的错误(expr,envir,enclos):找不到对象'Treatment' ref.grid 中的错误( object = ) :可能的补救措施:提供在“data”参数中使用的数据 > pairs(.Last.Value) 对中的错误(.Last.Value) : object '.Last.Value '未找到
    • 似乎由于某种原因无法重建数据,或者预测变量名称与您在帖子中显示的名称不同。试试ref.grid(fm17),看看有没有收获。
    • 我重新审视了这个,这就是我得到的。似乎应该很容易获得 lsmeans 和 diff 手段。您对获得输出有什么建议? > ref.grid(fm.s7) model.frame.default 中的错误(formula = datahourly ~ Treatment + BFStrata +:变量“datahourly”的无效类型(列表) ref.grid(fm.s7)中的错误:可能的补救措施:提供“数据”参数中使用的数据
    • 我不知道,但你给它的模型与你原来的问题不同,所以这是一个移动的目标。您的原始模型以I(Steps+1) 作为响应;这个新变量涉及一个变量datahourly,它显然是一个list,所以我看不出它如何成为模型公式的一部分。
    • 这很奇怪。模型没有改变。 Datahourly 是数据集。我不知道它为什么要把它拉进来。想法?
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-04
      • 1970-01-01
      • 2021-09-12
      • 2016-07-02
      • 2020-02-09
      • 2017-06-04
      • 1970-01-01
      • 2021-11-23
      相关资源
      最近更新 更多