我正在尝试对10种不同的模型进行交叉验证,以选择最佳模型。我按照我先前看到的示例之一进行了10倍交叉验证。绘制后,看起来交叉验证的结论是错误的,这意味着我的代码是错误的。我收到以下两个错误/警告。我查看了类似的错误消息,他们正在谈论使用不同的名称。但是我没有使用任何名字。
我的问题是
'newdata'有957行,但是找到的变量长了9568行
物体长度不是较短物体长度的倍数
下面是我编写的代码。
require(boot)
cv.error10 = rep(0, 10)
degree = 1:10
for(d in degree)
{
glm.fit = glm(plant$PE~poly(plant$V, d), data=plant)
cv.error10[d] = cv.glm(plant, glm.fit, K=10)$delta[1]
}
plot(degree, cv.error10)
lines(degree, cv.error10, type="b", col="red")