Функция для отображения результата rpart на партийном языке на языке R

Я хотел бы создать функцию для отображения результата rpart с partykit, Я преобразовал результат 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 ответ

Вы должны обернуть свою оценку формулы в нечто вроде substitute(...) чтобы предотвратить вызов модели в "формулу" вместо "вид ~". и т.п.

rpart_party <- function(formula, data){
  result1 <- rpart(formula = substitute(formula), data = data)
  return(as.party(result1))
}
Другие вопросы по тегам