【问题标题】:A function to display the result of rpart in party language in R language在R语言中以派对语言显示rpart结果的功能
【发布时间】:2018-12-03 06:44:48
【问题描述】:

我想创建一个函数来显示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 并显示树的结构。

【问题讨论】:

    标签: r function rpart party


    【解决方案1】:

    您需要将您对公式的评估包含在substitute(...) 之类的内容中,以防止将模型调用设置为“公式”而不是“物种~”。等等。

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

    【讨论】:

    • 也可以使用rpart(formula = formula, data = data, model = TRUE)。这会将model.frame 存储在result1 中,这样as.party() 就不必重新评估它并尝试在正确的环境中查找...
    猜你喜欢
    • 2018-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-28
    • 2020-12-01
    • 1970-01-01
    • 2015-02-08
    • 2015-09-23
    相关资源
    最近更新 更多