rpart 树中的错误标签

Wrong labels in rpart tree

我 运行 在 R 中使用 rpart 时遇到一些标签问题。

这是我的情况。

我正在处理包含分类变量的数据集,这是我的数据的摘录

head(Dataset)
Entity  IL  CP  TD  Budget 
  2      1   3   2     250
  5      2   2   1     663
  6      1   2   3     526 
  2      3   1   2     522

当我绘制添加标签的决策树时,使用

plot(tree) 
text(tree)

我得到错误的标签:对于实体,我得到 "abcd"

为什么我会遇到这个问题,我该如何解决?

感谢您的帮助

默认情况下 plot.rpart 将只用 letters 标记因子变量的水平,第一水平将是 a,第二水平将是 b 等等。示例:

library(rpart)
library(ggplot2) #for the data

data("diamonds")    
df <- diamonds[1:2000,]

fit <- rpart(price ~ color + cut + clarity, data = df)
plot(fit)
text(fit)

在我看来,与其自定义此图,不如使用 rpart 绘图专用包:

library(rpart.plot)
prp(fit)

它有许多自定义选项(示例):

prp(fit,
    type = 4,
    extra = 101,
    fallen.leaves = T,
    box.palette = colorRampPalette(c("red", "white", "green3"))(10),
    round = 2,
    branch.lty = 2,
    branch.lwd = 1,
    space = -1,
    varlen = 0,
    faclen = 0)

另一个选项是:

library(rattle)
fancyRpartPlot(fit,
               type = 4)

它在内部使用 prp 和不同的默认值。