如何抖动从partykit绘制ctree输出节点分割字符串?(How do I jitter the

2019-09-03 14:22发布

我有我的主要利用分类数据,设置为一类因素,在分类树的问题。 我现在用的是partykit包R和不party这里以前的答案表明,前者包是图形输出的操作更好。

我没有太多的节点(7)在我的真实数据集,但我有相当的一些变量的几个因素的水平,我遇到的问题是在分割的左侧和因子水平的从右侧是彼此干扰。 具体地,这是因为在结合因子水平的长度因子水平列表的水平取向的。

我可以用Aids2数据集在重现该问题MASS包。 这是一句废话的例子,但它产生我想解决的行为

library("partykit")
SexTest <- ctree(sex ~ ., data=Aids2)
plot(SexTest)

如果你看一下节点1节点分割的信息,你会看到我所描述的行为:

在我真实的数据帧,缩小字体,如果我得到它归结为4点,这是不可读的才有效。

是否有某种方式来定义该字符串文本框,并启用文本换行? 我已经通过看pargpar试图找到一个解决方案,但一直未果。 这将是合适的另一种选择是错开的每个节点的因子信息的垂直位置,从而使它们位于一个在另一个之下。

Answer 1:

嗯。 我去过那儿。 不修改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()



Answer 2:

排序的作品另一种方法是在相关点手动拆分名单。 “血红素\ N”:您可以通过更改您要一个新的生产线,以包括“\ n”水平的名称做到这一点。 这看起来有点丑,因为该行,然后部分与因子水平重叠,但它是唯一真正的解决办法我迄今发现的。



文章来源: How do I jitter the node split strings in plotting ctree output from partykit?