【发布时间】:2021-12-31 08:51:21
【问题描述】:
我使用MuMIn::model.avg 对几个模型进行平均*,并且我对绘制条件(非完整)模型平均值的预测结果很感兴趣。我尝试了ggeffects::ggpredict 和sjPlot::plot_model,两者都只给出了完整的模型结果。
我可以使用predict() 获得预测的估计值,它可以选择是使用完整模型还是条件模型(使用full = False 表示条件)。但是,如果我声明se.fit = True 以获得标准错误,那么我会收到一条警告说'argument 'full' is ignored',它会预测完整模型的结果。我也尝试在this 回答之后使用emmeans,但它也使用完整模型。
*简单线性 (lm) 和广义 (glm) 模型也会出现同样的问题。
有没有办法从条件平均模型及其 SE 或 CI 中获得预测结果?或者甚至更好,一种绘制它们的方法?
我不确定我的问题是统计问题(即我所问的问题无法统计完成)还是 R 问题。我希望这是第二个,但如果是第一个,我会感谢您的解释。
我没有添加数据,因为我认为它不相关,但如果需要,我可以添加。所有解释变量都是因子(如您在我的 NewData 数据框中所见)。
这是我尝试的几行代码:
m1 <- lm(A ~ B*C + d, data=df, na.action="na.fail")
dd1 <- dredge(m1, subset=Origin)
m1.avg <- model.avg(dd1, fit=TRUE)
plot_model(m1.avg, type="pred", terms=c("B", "C", "d"))
NewData <- data.frame(B=c(rep(c("b1", "b2"), 6)),
D=c(rep("d1", 6), rep("d2", 6)),
C=c(rep(c("C1", "C1", "C3", "C3", "C5", "C5"), 2)))
cbind(NewData, pre=predict(m1.avg, newdata=NewData, full=F, se.fit=T))
【问题讨论】: