提前感谢大家的帮助。
我想从我的模型平均结果中产生一个类似于下面的图。此图是使用effects包中的effect()函数从单个模型生成的。
据我所知,这不能从model.avg()函数的模型平均结果中实现,所以我尝试通过首先预测我的模型平均结果,然后创建图来实现类似的结果。
我已经用这个data构建了两个模型
igm_20 <- glmmTMB(igm_pres ~ fRHDV2_arrive_cat + fseason + sage + save_ajust_abun + fseason*fRHDV2_arrive_cat + (1 | fsite), data = test, family = binomial)
igm_21 <- glmmTMB(igm_pres ~ fRHDV2_arrive_cat + fseason + sage + save_ajust_abun + fseason*fRHDV2_arrive_cat + sage*fRHDV2_arrive_cat + (1 | fsite), data = test, family = binomial)我可以像这样计算这些模型的平均值:
mod_ave_list_1 <- list(igm_20, igm_21)
mod_ave_1 <- model.avg(mod_ave_list_1, rank = AICc)
s1 <- summary(mod_ave_1)然后,我尝试从提供的数据集test中的每个fseason*fRHDV2_arrive_cat组合的模型平均结果中进行预测
a <- as.data.frame(c("Summer", "Autumn", "Winter", "Spring", "Summer", "Autumn", "Winter", "Spring"))
a$fRHDV2_arrive_cat <- c("Pre-arrival", "Post-arrival", "Pre-arrival", "Post-arrival", "Pre-arrival", "Post-arrival", "Pre-arrival", "Post-arrival")
colnames(a) <- c("fseason", "fRHDV2_arrive_cat")
predict(mod_ave_1, full = TRUE, backtransform = TRUE, newdata = a, se.fit = TRUE)如果我不包含newdata = a,则预测函数可以正常运行,因此,我认为我提供给newdata的数据帧的结构不正确。
如果有人能够帮助我正确地构建newdata,以便我能够为每种fseason*fRHDV2_arrive_cat组合生成预测,我将不胜感激?我相信,一旦我有了预测,我就可以产生所需的情节。
我的情况与另一个帖子(here)中描述的非常相似,但仍未得到回复。上面我已经描述了我试图通过另一种方式实现类似的情节。我还注意到还有其他类似的帖子,比如here;我发现这些帖子对我的情况没有帮助。
发布于 2019-12-19 22:47:06
您的newdata必须包括模型使用的所有解释变量,但目前没有。
预测所需的变量:
all.vars(formula(mod_ave_1)[-2]) # extracts all names from formula minus response
# [1] "fRHDV2_arrive_cat" "fseason" "sage" "save_ajust_abun" 新数据中的变量:
colnames(a)
# [1] "fseason" "fRHDV2_arrive_cat"https://stackoverflow.com/questions/59368648
复制相似问题