Rrstudio中使用GLM的emmeans出现问题

Rrstudio中使用GLM的emmeans出现问题,r,glm,emmeans,R,Glm,Emmeans,我试图在我的准GLM上部署正确的事后测试,但没有成功。我想调查vegResponse的每6个响应的影响,但是,我不太确定如何进行!当我使用emmeans时,这并没有将素食者的反应分成6个反应,而是给了我一个数字。我能得到一些帮助吗:) 这是我的代码,图片中有我的结果: Modelboth <- glm( counter_prop ~ appear_selected * label_selected * vegResponse, data=subset( aggDataOut ), fam

我试图在我的准GLM上部署正确的事后测试,但没有成功。我想调查vegResponse的每6个响应的影响,但是,我不太确定如何进行!当我使用emmeans时,这并没有将素食者的反应分成6个反应,而是给了我一个数字。我能得到一些帮助吗:)

这是我的代码,图片中有我的结果:

Modelboth  <- glm( counter_prop ~ appear_selected * label_selected * vegResponse, data=subset( aggDataOut ), family = quasibinomial(link='logit')  )

Modelboth.emm <- emmeans(Modelboth,  "vegResponse", type = "response")
Modelboth.emm

summary( Modelboth )

models我的猜测是您将
vegResponse
编码为数值预测值(可能值为1,2,…,6)。在这种情况下,
emmeans
将以
vegResponse
=3.5的平均值为您提供平均预测值

如果我是正确的,您的模型几乎肯定也不正确,因为它拟合了
vegResponse
的线性趋势,而您希望将它们视为因子的六个不同级别。因此,您应该用
vegResponse
替换
因子(vegResponse)
来重新拟合模型

但也要注意,在您的模型中似乎存在强烈的交互作用,在这种情况下,基于边际平均值进行总结是不合适的。您可能应该将这两个其他预测值都用作
by
变量,或者至少使用一个。我还强烈建议将预测可视化,例如使用

emmip(Modelboth, vegResponse ~ appear_selected | label_selected, type = "response")

嘿,Russ,谢谢你非常有用的回答!我不知道by variables是什么意思以及如何创建它们?我再次创建了模型,但是使用了因子(vegResponse),它很有效,尽管在模型中我缺少vegResponse 1?再次感谢。
emmeans中的
by
参数