非常简单的数据框:
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个标签,但无法确定,因为标签不会写在图表的最后。
为什么3个结束状态,如果我只有两个(是,否)? 为什么标签不存在?
答案 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
时,会显示使用堆叠条形的响应。要获得并排绘制的条形,您需要相应地修改终端面板功能的参数:
plot(ct, tp_args = list(beside = TRUE))
最后,为了更改标签的大小,可以更改grid
图形参数。 (请注意,这需要partykit
而不是party
的{{1}}实现。)
ctree()