rpart树中的标签错误

时间:2018-05-30 10:37:39

标签: r tree visualization labels rpart

在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”

为什么我会这样做?我该如何解决?

感谢您的帮助

1 个答案:

答案 0 :(得分:4)

默认情况下,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)

enter image description here

在我看来,不是自定义此图,而是使用rpart plotting专用包:

library(rpart.plot)
prp(fit)

enter image description here

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

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)

enter image description here

另一个选择是:

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

enter image description here

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