r - R 中出现 "Variable Lengths Differ"错误的原因是什么?

标签 r dataframe machine-learning reference cross-validation

我尝试通过以下方式使用简单拟合和交叉验证:

library(ISLR)
attach(Auto)

Auto$cut.values = cut(displacement,2)
fit = glm(mpg~Auto$cut.values)
cv.glm(Auto, fit, K=10)$delta[1]

但我收到错误:

Error in model.frame.default(formula = mpg ~ Auto$cut.values, data = list( : variable 
lengths differ (found for 'Auto$cut.values')

但是如果我尝试稍微更改第三行并运行它,那么我不会收到错误并获得结果:

Auto$cut.values = cut(displacement,2)
fit = glm(mpg~cut.values, data = Auto)
cv.glm(Auto, fit, K=10)$delta[1]

据我所知,cut.values, data = AutoAuto$cut.values 相同。

我在这里错过了什么?

最佳答案

当您第一次附加数据集时,没有名为cut.values的变量。因此,您以后无法引用它。

如果您想受益于attach,您需要在向数据集添加另一个变量后attach(Auto)

library(ISLR)
attach(Auto)

Auto$cut.values = cut(displacement,2)
attach(Auto)

fit = glm(mpg~cut.values)
cv.glm(Auto, fit, K=10)$delta[1]

关于r - R 中出现 "Variable Lengths Differ"错误的原因是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45331637/

相关文章:

r - 计算 r 中频率也为零的向量中的元素

r - 如何根据另一个变量的缺失值返回 ID 列表?

r - 确定 R data.frame 列中值的变化位置

python - Pandas:将开始/结束事件分组为间隔

r - 如何在 lmer 中包含与单个预测变量的 3 种交互

r - data.table 使用逻辑列子集行 : why do I have to explicitly compare with TRUE?

r - 有没有办法生成类似于 mutate_at 或 mutate_if 的 Gather_at 或 Gather_if 函数

python - 改善简单的1层神经网络

amazon-web-services - AWS SageMaker 数据准备

java - 使用 KEA 或其他 python 库提取关键字