更改 rpart 图中分支名称的格式

Change formatting for branch names in rpart plot

当使用 rpart 创建和绘制树时,有许多函数可以改变最终的外观,但是它似乎没有内置允许格式化分支名称的内容。 下面是 (A) 通常发生的情况和 (B) 尝试使用 split.fun 更改名称以及生成此图的代码的示例。

test <- list()
test$tree <- rpart(Species ~ ., data = iris)
par(mfrow = c(1,2))
rpart.plot(test$tree, type=5, extra=2)
rpart.plot(test$tree, type=5, extra=2, split.fun = function(x, labs, digits, varlen, faclen){
  labs <- gsub(".", " ", labs)
  labs
})

我想要的是将 Petal.LengthPetal.Width 显示为 Petal LengthPetal Width。 有什么代码可以实现这个看似简单的任务吗?

为了得到你想要的东西,我提供了一个 hack。不漂亮,但它完成了工作。

如果你看一下树结构,那些标签来自 test$tree$frame$var。所以你可以简单地改变树中的那些。

par(mfrow = c(1,2))
rpart.plot(test$tree, type=5, extra=2)
test$tree$frame$var = sub("\.", " ", test$tree$frame$var)
rpart.plot(test$tree, type=5, extra=2)