缩放ctree图

时间:2015-06-23 17:44:38

标签: r decision-tree party

我正在尝试缩放出现在ctree的终端节点中的图。我已经尝试过使用yscale参数,但这只是结果超出绘图窗口的结果

例如:这是两个指数分布的ctree

set.seed(1)    
classA <-data.frame(class = "a", val = round(rexp(500, rate = 0.2),0))
classB <-data.frame(class = "b", val = round(rexp(500, rate = 0.05),0))

df <- as.data.frame(rbind(classA,classB))

ct = ctree(val~., data = df)
plot(ct)

现在,如果我尝试将图形的y轴从0缩放到70以放大框图并切断异常值,我可以使用:

plot(ct,terminal_panel = node_boxplot(ct,yscale =c(0,70)))

这适用于缩放y轴,但现在绘图延伸到绘图框之外。

抱歉,我会显示图片,但还没有足够的权限进行stackoverflow。

感谢您的任何建议

1 个答案:

答案 0 :(得分:0)

首先:在这样的示例中,最好对响应进行日志转换,因为ctree()中使用的关联测试将有更多的功能来检测树中拆分的差异。如果确切的零,可能会有一些小的连续性校正。

但是,当然,终端节点中适当缩放的问题与此是分开的。原因是终端节点的视口未设置为clip = TRUE,因此没有剪切视口区域外的图形元素。

我刚刚在R-Forge的partykit包中解决了这个问题。尚未安排新的CRAN版本,但您可以从R-Forge查看partykit-SVN,或者只下载当前的partykit/R/plot.R源代码。