我有一个glm,我想调整使用lsmeans的方法。以下代码生成模型(并且似乎正确地执行了它):
library(lmerTest)
data$group <- as.factor(data$grp)
data$site <- as.factor(data$site)
data$stimulus <- as.factor(data$stimulus)
data.acc1 = glmer(accuracy ~ site + grp*stimulus + (1|ID), data=data, family=binomial)
但是,当我尝试使用以下任何代码来获取模型的调整方法时,我会收到错误
lsmeansLT中的错误(model,test.effs = test.effs,ddf = ddf):
该模型不是线性混合效应模型。
lsmeans(data.acc1, "stimulus")
或
data.lsm <- lsmeans(data.acc1, accuracy ~ stimulus ~ grp)
pairs(data.lsm)
有任何建议吗?
答案 0 :(得分:1)
问题在于您使用glmer()
(在这种情况下是混合逻辑回归模型)创建了一个广义线性混合模型,而不是使用lmer()
的线性混合模型。 lsmeans()
函数不接受glmer()
创建的对象,因为它们不是线性混合模型。
这篇文章中的答案可能有所帮助:I can't get lsmeans output in glmer
如果您想了解/计算混合GLM的边际效应,这篇文章可能会有用:Is there a way of getting "marginal effects" from a `glmer` object