以R语言用聚会语言显示rpart结果的功能

时间:2018-06-24 14:23:58

标签: r function rpart party

我想创建一个函数来显示rpartpartykit的结果。 我使用以下代码将rpart的结果转换为as.party,并显示了树形结构。

library(partykit)
library(rpart)

result1 <- rpart(Species~.,data = iris)
plot(as.party(result1))

因此,我在函数中定义了rpart和as.party并执行了它。

rpart_party <- function(formula, data){
  result1 <- rpart(formula = formula ,data = data)
  return(as.party(result1))
}
plot(rpart_party(Species~., data = iris))

但是,发生以下错误。

Error in eval(predvars, data, env) : 
  invalid 'envir' argument of type 'closure'

请告诉我如何创建一个函数,以将rpart的结果转换为as.party并显示树的结构。

1 个答案:

答案 0 :(得分:2)

您需要用substitute(...)之类的形式包装对公式的求值,以防止将模型调用设置为“公式”而不是“ Species〜”。等等

rpart_party <- function(formula, data){
  result1 <- rpart(formula = substitute(formula), data = data)
  return(as.party(result1))
}