Случайный лес не принимает имена объектов - PullRequest
0 голосов
/ 29 января 2020

Я пытаюсь обучить случайный лес, но у меня проблемы с именованием переменных:

library("randomForest")

f <- "~ var1_testTRUE + var2_root_subj. + var3_test.en-US"
rf <- randomForest(as.formula(f), data=dtrain, ntree=10, nodesize=10)

Это сообщение об ошибке:

Error in eval(predvars, data, env) : objeto 'var3_test.en' no encontrado

Мне не понятно почему -US не добавлено к имени функции.

Как это исправить?

1 Ответ

1 голос
/ 30 января 2020

var3_test.en-US - это имя, не являющееся синтактическим c, поэтому вы должны заключить его в обратные ноты. Вы можете видеть, что, как написано, ваша формула анализируется не так, как вы хотите:

as.formula("~ var1_testTRUE + var2_root_subj. + var3_test.en-US")
# ~var1_testTRUE + var2_root_subj. + var3_test.en - US

С обратными галочками она анализируется правильно:

as.formula("~ var1_testTRUE + var2_root_subj. + `var3_test.en-US`")
# ~var1_testTRUE + var2_root_subj. + `var3_test.en-US`
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...