在r中的决策树中叠加直方图

时间:2018-03-08 22:26:47

标签: r plot tree histogram rpart

我想创建一个决策树图,在每个节点中显示叠加直方图,如图所示:

以下代码创建左侧图片:

library(earth)
library(rpart)
library(rpart.plot)

a <- rpart(O3~., data=ozone1, cp=.2)
prp(a, type=4, fallen=T, branch=.3, round=0, leaf.round=9,
    clip.right.labs=F, under.cex=1,
    box.palette="GnYlRd",
    prefix="ozone\n", branch.col="gray", branch.lwd=2,
    extra=101, under=T, lt=" < ", ge=" >= ", cex.main=1.5)

我认为rpart.plot中的node.fun可以完成这项工作,但我不知道如何实现它。Actual vs desired plot

1 个答案:

答案 0 :(得分:0)

不幸的是,对于rpart.plot的当前版本2.1.2,您无法做到这一点。

正如您所提到的,您可以使用自定义的node.fun来绘制直方图。但是rpart.plot不知道如何计算直方图的绘制大小,因此它不知道如何在页面上正确定位绘图元素。

我会将它添加到包TODO列表中并考虑实现它,但不幸的是,这不会很快发生。