【发布时间】:2020-02-20 06:30:37
【问题描述】:
我正在运行这个混合模型:
dflm1 <- lmer(formula=df[,16] ~ trt + (1|id), data=df)
emm <- emmeans(dflm1,'trt')
library(multcomp)
cld(emm)
Error in UseMethod("cld") :
no applicable method for 'cld' applied to an object of class "data.frame"
很遗憾,我无法上传数据。我已经查看了有关此的其他问题,但它不正确。我已将 trt 和 id 都更改为数字和因子,但会发生相同的错误。有谁知道我为什么会收到这个错误?早些时候它起作用了,所以我一定改变了一些东西,但我不知道是什么!!?
【问题讨论】:
-
您正在尝试将数据帧传递给
cld函数,但这没有任何意义 - 此函数必须提供ghlt模型。你需要先做一个。为此,您可以将dflm1从 multcomp 传递给ghlt函数。 -
@Allan Cameron,谢谢!你能详细说明我是怎么做到的吗?
-
cld的帮助页面有很多例子(向下滚动到页面底部)。 也许试试:glht1 <- glht(dflm1, linfct = mcp(trt = "Tukey")); cld(glht1) -
重新运行代码,我猜,因为
emmeans()产生一个emmGrid对象,而不是data.frame,并且是 一个emmGrid的方法.您不必将其转换为glht。
标签: r