使用带有“的列车功能接收到错误消息”;rf";方法

使用带有“的列车功能接收到错误消息”;rf";方法,r,r-caret,R,R Caret,我试过上面的例子 并按照正确的步骤操作,直到列车功能启动 library(dplyr) data_train <- read.csv("https://raw.githubusercontent.com/guru99-edu/R- Programming/master/train.csv") glimpse(data_train) data_test <- read.csv("https://raw.githubusercontent.com/guru99-edu/R

我试过上面的例子 并按照正确的步骤操作,直到
列车
功能启动

library(dplyr)

data_train <- read.csv("https://raw.githubusercontent.com/guru99-edu/R- 
    Programming/master/train.csv")

glimpse(data_train)

data_test <- read.csv("https://raw.githubusercontent.com/guru99-edu/R-    
    Programming/master/test.csv") 

glimpse(data_test)

library(randomForest)

library(caret)

library(e1071)

trControl <- trainControl(method = "cv",
    number = 10,
    search = "grid")

set.seed(1234)

rf_default <- train(Survived~., 
    data = data_train,
    method = "rf",
    metric = "Accuracy",
    trControl = trControl)
na.fail.default(列表)中的错误(生存=c(0L,1L,1L,0L,0L,0L,0L,: 对象中缺少值。但是,“幸存”变量中没有缺少值


有人能告诉我出了什么问题吗?我用的是R版本3.5.1,也试过了3.6.1。谢谢你

有一些问题。第一个问题是你有
NA
s。你可以对它们进行插补,也可以省略它们。为了简单起见,我省略了它们

其次,您需要使用一个因子进行分类。 种子集(1234)

新数据%
变异(存活=as.factor(存活))->新数据

rf\u默认值如果运行此操作,它将返回TRUE:
anyNA(data\u train)
。删除这些或使用已知的插补方法。例如,使用
鼠标
。感谢Nelson的快速回答。它确实解决了问题。非常感谢。
R versions 3.5.1 and 3.6.1
new_data<-na.omit(data_train)
as_tibble(new_data) %>% 
  mutate(Survived = as.factor(Survived)) -> new_data
rf_default <- train(Survived~., 
                    data = new_data,
                    method = "rf",
                    metric = "Accuracy",
                    trControl = trControl)