r - model.frame.default 中的错误(公式 = mpg01 ~ .,数据 = 列表(圆柱体 = c(8,:可变长度不同(为“圆柱体”找到))
问题描述
我不确定如何修复代码中的长度错误。一切运行顺利,直到我运行 svm.tune。请指教!
library(ISLR)
attach(Auto)
n <- nrow(Auto)
mpg01 <- rep(0, length(mpg))
mpg01[mpg > median(mpg)] <- 1
mpg01 <- as.factor(mpg01)
Auto <- data.frame(Auto, mpg01)
Auto$mpg = NULL
set.seed(1)
train <- sample(1:n, 0.8*n)
x.train <- Auto[train,-9]
x.test <- Auto[-train,-9]
y.train <- Auto$mpg01[train]
y.test <- Auto$mpg01[-train]
library(e1071)
RNGkind(sample.kind = "Rounding")
set.seed(1)
svm.tune <- tune(method=svm,
mpg01~., data = x.train,
kernel = "linear",
ranges = list(cost = c(0.01,0.1,1,5,10)))
解决方案
习惯上data
也包含响应变量,因此不要将训练和测试拆分为 x 和 y,而是将训练全部保存在一个数据帧中,将测试保存在一个数据帧中。
xy.train <- Auto[train,]
xy.test <- Auto[-train,]
library(e1071)
#RNGkind(sample.kind = "Rounding")
set.seed(1)
svm.tune <- tune(method=svm,
mpg01~., data = xy.train,
kernel = "linear",
ranges = list(cost = c(0.01,0.1,1,5,10)))
推荐阅读
- spring - Spring Docker Container 停止,因为它尝试连接到 localhost MongoDB,即使它已经正确连接到 MongoDB Container
- git - 如何在将分支复制或复制到新分支后保留 GIT 拉取请求和提交历史记录?
- javascript - 如何将此滑块更改为自定义幻灯片编号?
- c# - 如何从 ASP.NET Core MVC 的剃刀文件中的下拉列表中获取选定的值
- c# - 如何为此测试生成异常?
- python - 尝试运行神经网络时出现索引错误
- sql - 我怎样才能做到这一点?
- c# - 实体框架:如何优化以下 linq 查询?
- google-bigquery - Google Big Query:确定无效视图(例如,dryRun 和列表)
- ios - Xcode 未使用 XCFrameworks 找到架构 x86_64 的符号