运行以下代码:
library(tree)
library(ISLR)
library(dplyr)
Carseats <- Carseats %>% mutate(High = factor(ifelse(Sales <= 8, "No", "Yes")))
set.seed(2)
train_sample <- sample(nrow(Carseats), 200)
carseats_train <- Carseats[train_sample,]
carseats_test <- Carseats[-train_sample,]
tree.carseats <- tree(High~ . -Sales, Carseats, subset = carseats_train)
这将输出错误:
Error in `[.default`(xj, i) : invalid subscript type 'list'
这是什么原因,我该如何处理?
我发现了我的错误。我对树的输入不正确。即subset
参数。这需要是一个表达式,指定要使用的子集。
可以通过使用train_sample
作为输入来固定代码。
library(tree)
library(ISLR)
library(dplyr)
Carseats <- Carseats %>% mutate(High = factor(ifelse(Sales <= 8, "No", "Yes")))
set.seed(2)
train_sample <- sample(nrow(Carseats), 200)
carseats_test <- Carseats[-train_sample,]
tree.carseats <- tree(High~ . -Sales, Carseats, subset = train_sample)