R - элегантный способ выбора нескольких переменных в модели, таких как rpart или train - PullRequest
0 голосов
/ 22 января 2020

Я хочу использовать около 50 переменных столбцов моих данных в качестве факторов для моей модели и пытаюсь найти элегантный способ вместо использования длинного списка всех переменных.

rpart(output_variable ~ Variable1 + Variable2 + Variable3 + Variable4, data=Train_Set, method="class")

Я пытаюсь

rpart(output_variable ~ dataset[,12:50], data=Train_Set, method="class")

но это просто приносит "недопустимый тип (список)

есть идеи, как я могу элегантно выбрать несколько переменных или сохранить их для ссылки на них в формуле?

Ответы [ 2 ]

0 голосов
/ 22 января 2020

Спасибо, но это приводит к следующей ошибке:

variable lengths are different (found for 'CONVENTIONAL_min')

CONVENTIONAL_min - первая выбранная переменная. Если я использую обычный способ с V1 + V2 + V3, он работает без этой ошибки

0 голосов
/ 22 января 2020

Используйте reformulate, который создает формулу из вектора символов.

rpart(reformulate(names(Train_Set)[12:50], output_variable), 
      data=Train_Set, method="class")

Например, это то, что reformulate дает с mtcars

reformulate(names(mtcars)[3:7], "cyl")
#cyl ~ disp + hp + drat + wt + qsec
...