Reading rpart Input Parameters from a Text Variabl

2019-02-24 00:50发布

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?

标签: r formula rpart
2条回答
做个烂人
2楼-- · 2019-02-24 00:51

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.

查看更多
何必那么认真
3楼-- · 2019-02-24 01:14

Use as.formula:

rpart_formula <- as.formula(
    paste("Kyphosis ~ ", 
          paste(predictor_variables, collapse = " + "), 
          sep = ""
    )
)
查看更多
登录 后发表回答