【发布时间】:2017-02-12 16:45:48
【问题描述】:
我试图从阶跃函数中获取错误,但我得到了一个错误:
library(boot)
library(ISLR)
attach(Wage)
set.seed(5082)
cv.error <- rep (0,12)
for (i in 2:13){
step.fit = glm(wage~cut(age,i), data = Wage)
cv.error[i] <- cv.glm(Wage ,step.fit, K= 10)$delta [1]
}
Error in model.frame.default(Terms, newdata, na.action = na.action, xlev = object$xlevels) :
cut(age, i) has new levels (17.9,43.5], (43.5,69.1]
如果我使用特定中断而不是自动生成 cut() 索引,我可以从 cv.glm()$delta [1] 得到错误:
fit <- glm(wage~cut(age,breaks=c(17.9,33.5,49,64.5,80.1)), data = Wage)
cv.error <- cv.glm(Wage ,step.fit, K= 10)$delta [1]'
即使这些是 cut(age,4) 所做的完全相同的休息。
谁能解释发生了什么或如何修复错误。
我的目标是尝试从 12 种不同的步进模型中找出错误,并根据 cv.glm()$delta 错误选择最佳的。
【问题讨论】:
标签: r regression linear-regression polynomial-approximations