我有我的主要利用分类数据,设置为一类因素,在分类树的问题。 我现在用的是partykit
包R和不party
这里以前的答案表明,前者包是图形输出的操作更好。
我没有太多的节点(7)在我的真实数据集,但我有相当的一些变量的几个因素的水平,我遇到的问题是在分割的左侧和因子水平的从右侧是彼此干扰。 具体地,这是因为在结合因子水平的长度因子水平列表的水平取向的。
我可以用Aids2数据集在重现该问题MASS
包。 这是一句废话的例子,但它产生我想解决的行为
library("partykit")
SexTest <- ctree(sex ~ ., data=Aids2)
plot(SexTest)
如果你看一下节点1节点分割的信息,你会看到我所描述的行为:
在我真实的数据帧,缩小字体,如果我得到它归结为4点,这是不可读的才有效。
是否有某种方式来定义该字符串文本框,并启用文本换行? 我已经通过看par
和gpar
试图找到一个解决方案,但一直未果。 这将是合适的另一种选择是错开的每个节点的因子信息的垂直位置,从而使它们位于一个在另一个之下。
嗯。 我去过那儿。 不修改partykit包的内部,我不知道,以提高在特定大小的输出方式(我经常有与X轴标签过长的条形图输出与polychotomous绘制树问题因变量)。
这是一个丑陋的解决方法,但你可以从树的输出知道哪些类别去哪里,然后使用类似GIMP适当地突出了形象,为您的PowerPoint /报告/不管。
Model formula:
sex ~ state + diag + death + status + T.categ + age
Fitted party:
[1] root
| [2] T.categ in hs, hsid, haem, other
| | [3] T.categ in hs, hsid, haem
| | | [4] state in NSW, Other, VIC: M (n = 2386, err = 0.0%)
| | | [5] state in QLD: M (n = 197, err = 0.5%)
| | [6] T.categ in other: M (n = 70, err = 10.0%)
| [7] T.categ in id, het, blood, mother: M (n = 190, err = 42.6%)
Number of inner nodes: 3
Number of terminal nodes: 4
您还可以调整输出到更大的东西的大小,用说PNG()
png('tmp.png',width=1024,height=768)
plot(SexTest)
dev.off()
排序的作品另一种方法是在相关点手动拆分名单。 “血红素\ N”:您可以通过更改您要一个新的生产线,以包括“\ n”水平的名称做到这一点。 这看起来有点丑,因为该行,然后部分与因子水平重叠,但它是唯一真正的解决办法我迄今发现的。
文章来源: How do I jitter the node split strings in plotting ctree output from partykit?