繁体   English   中英

从平均 GLM 模型绘制预测: eval(predvars, data, env) 中的错误:找不到对象“x3”

[英]Plotting prediction from averaged GLM model: Error in eval(predvars, data, env) : object 'x3' not found

我已经生成了一个平均 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) dredge ms1 <- dredge(m1) #运行不同的模型组合

d2subset <- get.models(ms1, subset = delta < 2) #选择delta AIC <2的模型。

avgm <- model.avg(d2subset) #DeltaAIC<2 模型被平均。

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), se.fit = TRUE, :

'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, data, env) : object 'x3' not found

2-13: In eval(predvars, data, env) : object 'x3' not found

14: In eval(predvars, data, env) : object 'x5' not found

15-26: In eval(predvars, data, env) : object 'x3' not found

我已经研究了很多,但我仍然不明白错误来自哪里或如何解决它。 如有任何建议,我将不胜感激。 谢谢!

由于模型包括协变量x1 - x12您需要包括predict所有变量,而不仅仅是x1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM