从文本变量中读取rpart输入参数

时间:2011-09-21 13:03:22

标签: r formula rpart

我正在使用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 个答案:

答案 0 :(得分:6)

使用as.formula

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

答案 1 :(得分:0)

尝试将公式简单地作为字符串传递:

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

应该通过rpart强制执行公式。

编辑

如下面的评论中所述,并非所有功能都会对您进行强制执行,因此您不应该依赖此行为,但在这种情况下,rpart 肯定会。< / p>