【发布时间】:2014-04-04 03:41:08
【问题描述】:
当我更改我的 data.frame 时,我收到一个错误并且无法执行 lm:
observation.not.i = area[-i, ]
fit.new.observation = lm(farm ~ land, data = observation.not.i)
错误是
Error in eval(expr, envir, enclos) : object 'land' not found
我在折刀程序中使用它,如下所示:
r.jack = c(rep(0, 50))
y.hat = c(rep(0, 50))
for (i in 1:50) {
observation.not.i = area[-i, ]
fit.new.observation = lm(farm ~ land, data = observation.not.i)
y.hat[i] = predict(fit.new.observation, data.frame(land.area=area[i, 3]))
r.jack[i] = area[i, 2] - y.hat[i]
}
但是,当我运行 fit=lm(farm~land,data=area) 时,它运行良好。如果您知道问题的原因,请告诉我。
【问题讨论】:
-
您需要为
newdata提供一个数据框,其中包含包含公式RHS 上所有变量的变量,但您提供的是一个变量land.area,因此land在@987654328 中找不到@。为什么不predict(fit.new.observation, newdata = area[i, , drop = FALSE])? -
嗨 Gavin,这与 user3114046 提供的答案相同。谢谢。我更理解这一点。
标签: r dataframe regression