如何解决根据平均GLM模型绘制预测:evalpredvars,data,env中的错误:找不到对象'x3'
我已经制作了一个平均的GLM模型(以寻找物种的栖息地偏好),并且我想绘制每个最重要变量“ x1”和“ x3”(下层覆盖度和相对于我的响应变量“物种”(物种存在)而言。我一直在使用“预测”(predict.averaging)函数,但是我一直遇到相同的错误:
Error in eval(predvars,data,env) : object 'x3' not found
更多详细信息和代码:
我的数据集“ data.csv”是一个包含13行的表。前12行是缩放的栖息地变量(10个连续变量,2个类别),命名为x1-x12。第13行是响应变量-物种存在/不存在(1或0)。 这是我的代码:
library(MuMIn)
dataset <- read.csv(file = 'data.csv',stringsAsFactors = FALSE)
options(na.action = "na.fail")
m1 <- glm(species ~ x1 + x2 + x3 + x4 + x5 + x6 + x7 + x8 + x9 + x10 + x11 + x12,data=Dataset,family=binomial())
ms1 <- dredge(m1)
#运行不同的模型组合
d2subset <- get.models(ms1,subset = delta < 2)
#已选择增量AIC
avgm <- model.avg(d2subset)
#DeltaAIC
summary(avgm)
#显示'x1'为最高有效变量。
以下代码试图从平均模型进行预测,从而导致错误:
predict(avgm,data.frame(dataset$x1),se.fit = TRUE,type = "link",backtransform = TRUE,full = TRUE)
产生的错误:
Error in predict.averaging(avgm,dataset$x1),:
'predict' for models '2211','163','147','179','2227','183','131','2195','167','2275','227','243','211','148','1171','435','151','3235','247','2215','155','2231','659','2291','2219' and '171' caused errors.
In addition: There were 26 warnings (use warnings() to see them)
Warning messages:
1: In eval(predvars,env) : object 'x3' not found
2-13: In eval(predvars,env) : object 'x3' not found
14: In eval(predvars,env) : object 'x5' not found
15-26: In eval(predvars,env) : object 'x3' not found
我已经对此进行了很多研究,但是我仍然不知道错误来自何处或如何解决。如有任何建议,我将不胜感激。谢谢!
解决方法
由于模型包含协变量x1
-x12
,因此您需要包括predict
的所有变量,而不仅仅是x1
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。