Ошибка при использовании train(): выбраны неопределенные столбцы

#r #r-caret #training-data

#r #r-каретка #обучение-данные

Вопрос:

Я просмотрел другие опубликованные вопросы, касающиеся этой проблемы, но мне не удалось заставить мой код работать.

Вот мой код:

 library(titanic)  
library(caret)
library(tidyverse)
library(rpart)

# 3 significant digits
options(digits = 3)

# clean the data
titanic_clean <- titanic_train %>%
  mutate(Survived = factor(Survived),
         Embarked = factor(Embarked),
         Age = ifelse(is.na(Age), median(Age, na.rm = TRUE), Age), # NA age to median age
         FamilySize = SibSp   Parch   1) %>%    # count family members
  select(Survived,  Sex, Pclass, Age, Fare, SibSp, Parch, FamilySize, Embarked)

index <- createDataPartition(titanic_clean$Survived, times = 1, p = 0.2, list = FALSE)
test_set <- titanic_clean[index, ]
train_set <- titanic_clean[-index, ]

caret::train(train_set$Survived ~ train_set$Fare, method="glm", data=train_set)
  

Функция train возвращает следующую ошибку:

 Error in `[.data.frame`(data, , all.vars(Terms), drop = FALSE) : 
  undefined columns selected
  

Есть идеи?

Комментарии:

1. когда вы предоставляете данные и формулу, вам не нужно явно вызывать столбец, поэтому выполните train(Survived ~ Fare, method="glm", data=train_set)

2. Спасибо @StupidWolf, это решило проблему.

3. Продолжение; если я запускаю predict([вывод из train], data=test_set) Я получаю следующее сообщение об ошибке: в ‘newdata’ было 179 строк, но найденные переменные имеют 712 строк?

4. аргумент newdata= вместо data=...