ctree显示3个目标值且没有标签(来自2个值目标因子)

时间:2016-05-11 08:50:35

标签: r party

非常简单的数据框:

     TYPE USERS  VISITS SIZE
1   no       3     5 118266
2   no       3     5 118548
3   yes      1     0 274558
4   no       3    10  86078
5   yes      3     4 355091
7   yes      18     0  29915
8   yes      6     0 278590
9   yes      5     0 477850
10  yes      1     2  67751
11  yes      4     9 309361

获取TYPE变量的ctree分类时:

plot(ctree(TYPE ~ ., data = df))

似乎出现了3个标签,但无法确定,因为标签不会写在图表的最后。

ctree plot

为什么3个结束状态,如果我只有两个(是,否)? 为什么标签不存在?

1 个答案:

答案 0 :(得分:0)

正如@DavidArenburg已经指出的那样,用于种植树的数据df几乎肯定有一个TYPE变量,有三个级别,尽管实际上只有两个在观察到的数据中。请参阅下文,了解基于您提供的打印输出的可重现示例。

关于图中不可见级别的问题:原因是您使用的绘图窗口对于默认字体大小而言太小。因此,未显示过度标记标签。最简单的解决方案是简单地增加绘图窗口的大小。或者,您可以减小字体大小。请参阅下面的示例。

阅读数据:

df <- read.table(textConnection("     TYPE USERS  VISITS SIZE
1   no       3     5 118266
2   no       3     5 118548
3   yes      1     0 274558
4   no       3    10  86078
5   yes      3     4 355091
7   yes      18     0  29915
8   yes      6     0 278590
9   yes      5     0 477850
10  yes      1     2  67751
11  yes      4     9 309361
"))

然后成长并可视化树:

library("partykit")
ct <- ctree(TYPE ~ ., data = df)
plot(ct)

ctree-default

当您看到带有二进制ctree时,会显示使用堆叠条形的响应。要获得并排绘制的条形,您需要相应地修改终端面板功能的参数:

plot(ct, tp_args = list(beside = TRUE))

ctree-beside

最后,为了更改标签的大小,可以更改grid图形参数。 (请注意,这需要partykit而不是party的{​​{1}}实现。)

ctree()

ctree-fontsize