2011-09-21 30 views
4

我使用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正確地看到了嗎?

回答

6

使用as.formula

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

嘗試簡單地使式作爲字符串:

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

應由rpart強迫成爲公式。

編輯

正如下面的評論中指出,並非所有的功能將做強制你,所以你不應該依賴於這種行爲,但在這種情況下rpart肯定不會

+0

這不會工作,必須用'as.formula',看到我的帖子 – TMS

+0

@TomasT。它在我的機器上運行。你試過了嗎? – joran

+0

是的,它不起作用 - 至少在'lm()'函數中。在'lm()'中試試。 – TMS