Reading rpart Input Parameters from a Text Variable

℡╲_俬逩灬. 提交于 2019-12-02 00:45:30

问题


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?


回答1:


Use as.formula:

rpart_formula <- as.formula(
    paste("Kyphosis ~ ", 
          paste(predictor_variables, collapse = " + "), 
          sep = ""
    )
)



回答2:


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.



来源:https://stackoverflow.com/questions/7500219/reading-rpart-input-parameters-from-a-text-variable

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!