线性回归:eval中的错误(predvars,data,env):object' G3'找不到

时间:2018-06-08 14:06:12

标签: r

我是R.的新手。我正在尝试在数据集中使用多元线性回归算法。我试图预测的属性名为G3。 我试着这样做:

d1=read.table("student-mat.csv",sep=";",header=TRUE)

train <- d1[1:356,]
test <- d1[357:395,]
fit2 <- lm(G3 ~ famrel + G1 + G2, data=train)
coefficients(fit2)

没有任何错误。 然后我尝试进行交叉验证,所以我这样做了:

install.packages("DAAG")
library(DAAG)
cv.lm( form.lm = fit2, m=3, dots=FALSE) # 3 fold cross-validation

但最后一行给了我这个错误:

  

eval中的错误(predvars,data,env):object&#39; G3&#39;找不到

我无法理解为什么。我搜索了这个错误,它通常发生在对象不在数据框中时,情况并非如此。有人能告诉我我能做些什么吗?

1 个答案:

答案 0 :(得分:2)

你似乎错过了cv.lm中的数据参数,这就是为什么R无法找到G3对象的原因。它应该如下所示:

library(DAAG)
cv.lm(data= mtcars, mpg ~ drat + hp, m= 3)

我在这里使用mtcars数据,您可以尝试使用您的数据并告诉我们。它应该工作