Чтение входных параметров rpart из текстовой переменной - PullRequest
4 голосов
/ 21 сентября 2011

Я использую rpart для принятия дерева решений. Например:

fit <- rpart(Kyphosis ~ Age + Number + Start, data=kyphosis)

Как мне прочитать часть формулы из текстового файла и получить ее в формате, который rpart нравится? Я пробовал:

predictor_variables <- c("Age", "Number", "Start")
rpart_formula <- Kyphosis ~ parse(text=paste(predictor_variables, collapse="+"))
fit <- rpart(rpart_formula, data=kyphosis)

но я получаю ошибку:

 invalid type (expression) for variable 'parse(text = paste(predictor_variables, collapse = "+"))'

Как мне отформатировать rpart_formula, чтобы rpart правильно его увидел?

Ответы [ 2 ]

6 голосов
/ 21 сентября 2011

Использование as.formula:

rpart_formula <- as.formula(
    paste("Kyphosis ~ ", 
          paste(predictor_variables, collapse = " + "), 
          sep = ""
    )
)
0 голосов
/ 21 сентября 2011

Попробуйте просто передать формулу в виде строки символов:

rpart_formula <-paste("Kyphosis ~ ",paste(predictor_variables, collapse="+"))

, которая должна быть приведена к формуле с помощью rpart.

Редактировать

Как отмечается в комментариях ниже, не все функции будут выполнять за вас принуждение, поэтому вам не следует полагаться на это поведение, но в этом случае rpart наверняка делает .

...