获得;xj[i]中的错误:仅0';s可与负下标混合;在for循环中执行多项式回归时
我尝试使用for循环来确定回归中每个变量的最佳多项式次数,然后使用k倍交叉验证。我收到一个错误“xj[I]中的错误:只有0可能与负下标混合”。我知道这段代码可能不是很“r-ish”,因为我对这门语言不熟悉,所以任何其他提示都会很有帮助获得;xj[i]中的错误:仅0';s可与负下标混合;在for循环中执行多项式回归时,r,for-loop,optimization,k-fold,R,For Loop,Optimization,K Fold,我尝试使用for循环来确定回归中每个变量的最佳多项式次数,然后使用k倍交叉验证。我收到一个错误“xj[I]中的错误:只有0可能与负下标混合”。我知道这段代码可能不是很“r-ish”,因为我对这门语言不熟悉,所以任何其他提示都会很有帮助 b1 = rep(0,27) b2 = rep(0,27) b3 = rep(0,27) cv.error = rep(0,27) index = 1 for (i in c(2,3,4)) { for (j in c(2,3,4)) { for
b1 = rep(0,27)
b2 = rep(0,27)
b3 = rep(0,27)
cv.error = rep(0,27)
index = 1
for (i in c(2,3,4)) {
for (j in c(2,3,4)) {
for (k in c(2,3,4)) {
fit = lm(user_Score ~
poly(user_count, i),
poly(year_of_Release, j),
poly(global_Sales, k), data = video_games)
b1[index] = i
b2[index] = j
b3[index] = k
cv.error[index] = cv.glm(video_games, fit, K=10)$delta[1]
index = index + 1
}
}
}
我希望最终得到向量,在那里我存储每个组合以及MSE,这样我就可以看到哪个组合是最佳的。你不想在你的
lm
中使用user\u Score~poly(…)+poly(…)+poly(…)
,而不是用逗号分隔它们吗?@AndrewGustar你说得太对了!非常感谢。