为什么lm不能在R中修改data.frame?

时间:2014-04-04 03:41:09

标签: r dataframe regression

当我更改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)时,它运行正常。如果您知道问题的原因,请告诉我。

1 个答案:

答案 0 :(得分:2)

y.hat[i] = predict(fit.new.observation, data.frame(land.area=area[i, 3]))

fit.new.observation模型期望land newdata参数predict中的land.area列,但该列名为{{1}}。