我试图预测在我的二项式数据上运行的glmer模型随时间推移的值(x轴中的天数) . Total Alive和Total Dead是计数数据 . 这是我的模型,以及下面的相应步骤 .
full.model.dredge<-glmer(cbind(Total.Alive,Total.Dead)~(CO2.Treatment+Lime.Treatment+Day)^3+(Day|Container)+(1|index),
data=Survival.data,family="binomial")
正如您在代码中看到的那样,我们已经考虑了过度离散(1:索引) .
然后我们使用dredge命令确定具有主效应的最佳拟合模型(CO2.Treatment,Lime.Treatment,Day)及其相应的相互作用 .
dredge.models<-dredge(full.model.dredge,trace=FALSE,rank="AICc")
然后为它们创建了一个工作区变量
my.dredge.models<-get.models(dredge.models)
然后,我们进行了模型平均,以对最佳拟合模型的系数求平均值
silly<-model.avg(my.dredge.models,subset=delta<10)
但是现在我想要创建一个图形,Y轴上的Total Alive和X轴上的Days,以及取决于模型输出的拟合线 . 我理解这很棘手,因为模型连接了Total.Alive和Total.Dead(参见模型中的 cbind(Total.Alive,Total.Dead)
) .
当我尝试运行预测命令时,我收到错误
# 9: In UseMethod("predict") :
# no applicable method for 'predict' applied to an object of class "mer"
1 回答
您的大多数问题是您使用的是1.0之前版本的
lme4
,它没有实现predict
方法 . (更新将是最简单的,但我相信,如果您能够通过提取固定效应设计矩阵和系数来手动进行预测,那么http://glmm.wikidot.com/faq是一个秘方...)预测实际上没有问题,预测log-odds(默认情况下)或概率(如果type="response"
);如果你想预测数字,你必须适当地乘以N.你没有使用内置的
cbpp
数据集来重现(尽管有些微不足道)的例子(我确实得到了一些警告信息 -no non-missing arguments to max; returning -Inf
- 但我认为这可能是因为只有一个非平凡的固定 - 模型中的效果参数?)以后使用(使用
ggplot
)为比例添加变量很方便:适合模型(你也可以使用
glmer(prop~..., weights=size, ...)
)预测确实有效:
创建一个情节:
设置预测框架:
预测人口水平(
ReForm=NA
- 在lme41.0.5中可能必须是
REForm=NA` ):将其添加到图表中: