我对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):找不到对象'G3‘
我不明白为什么。我搜索了这个错误,它通常发生在对象不在数据帧中时,情况并非如此。有人能告诉我我能做什么吗?
发布于 2018-06-08 06:17:54
您似乎缺少了cv.lm
中的数据参数,这就是为什么R无法找到G3对象的原因。应如下所示:
library(DAAG)
cv.lm(data= mtcars, mpg ~ drat + hp, m= 3)
我在这里使用mtcars
数据,您可以尝试使用您的数据并通知我。它应该能工作
https://stackoverflow.com/questions/50762455
复制