VSURF и randomForest: использование прогнозируемых переменных в функции - PullRequest
0 голосов
/ 25 мая 2020

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

Я попытался сделать это:

#Total_data is a data frame with ALL the data
#data is a data frame only with the explicative data
#var_to_predict is a data frame with the data to explain (Tota_data - data)

for (var in names(var_to_predict)){
  data$VAR <- as.numeric(Total_data[,var])

  set.seed(123)
  data_predicted <- VSURF(VAR ~ ., data = data, na.action = na.omit) 

  id_var <- data_pred$varselect.pred #put the predicted indices in a new variable

  (fit <- randomForest(VAR ~ data[id_var], data = data, na.action = na.omit,
                      importance=TRUE))

Но я получаю следующую ошибку:

Error in model.frame.default(formula = VAR ~ data[id_var],  : 
  invalid type (list) for variable 'data[id_var]'

Я пытался изменить тип data[id_var] на список, вектор и коэффициент, но у меня всегда одна и та же ошибка .. . Вы знаете, как я могу это решить?

Большое спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...