我是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;找不到
我无法理解为什么。我搜索了这个错误,它通常发生在对象不在数据框中时,情况并非如此。有人能告诉我我能做些什么吗?
答案 0 :(得分:2)
你似乎错过了cv.lm
中的数据参数,这就是为什么R无法找到G3对象的原因。它应该如下所示:
library(DAAG)
cv.lm(data= mtcars, mpg ~ drat + hp, m= 3)
我在这里使用mtcars
数据,您可以尝试使用您的数据并告诉我们。它应该工作