Reading rpart Input Parameters from a Text Variable
Question
I'm using rpart
to make a decision tree. For example:
fit <- rpart(Kyphosis ~ Age + Number + Start, data=kyphosis)
How do I read in the formula part from a text file and get it in a format that rpart
likes? I've tried:
predictor_variables <- c("Age", "Number", "Start")
rpart_formula <- Kyphosis ~ parse(text=paste(predictor_variables, collapse="+"))
fit <- rpart(rpart_formula, data=kyphosis)
but I get an error:
invalid type (expression) for variable 'parse(text = paste(predictor_variables, collapse = "+"))'
How can I format rpart_formula
so that rpart
sees it correctly?
Solution
Use as.formula
:
rpart_formula <- as.formula(
paste("Kyphosis ~ ",
paste(predictor_variables, collapse = " + "),
sep = ""
)
)
OTHER TIPS
Try simply passing the formula as a character string:
rpart_formula <-paste("Kyphosis ~ ",paste(predictor_variables, collapse="+"))
that should be coerced to a formula by rpart
.
Edit
As noted in the comments below, not all functions will do the coercion for you, so you should not rely on this behavior, but in this case rpart
most certainly does.
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow