3

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正确看到它?

4

2 回答 2

5

使用as.formula

rpart_formula <- as.formula(
    paste("Kyphosis ~ ", 
          paste(predictor_variables, collapse = " + "), 
          sep = ""
    )
)
于 2011-09-21T13:47:33.213 回答
0

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

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

应该被强制转换为公式rpart

编辑

正如下面评论中所指出的,并非所有函数都会为您执行强制转换,因此您不应该依赖这种行为,但在这种情况下rpart 肯定会这样做。

于 2011-09-21T13:47:28.917 回答