我正在尝试缩放出现在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轴,但现在绘图框已经超出了绘图框的范围。
对不起,我会显示图像,但是还没有足够的权限来处理堆栈溢出。
谢谢你的建议
发布于 2015-07-02 21:52:19
首先,在这样的例子中,最好是日志转换响应,因为ctree()中使用的关联测试将有更大的能力来检测树中分裂的差异。如果有精确的零,可能会有一些小的连续性修正。
但是,当然,终端节点的适当缩放问题与此是分开的。原因是终端节点的视图没有设置为clip = TRUE,因此没有将图形元素剪辑到视口区域之外。
我刚刚在package上的partykit包中解决了这个问题。新的CRAN版本还没有计划好,但是您可以从release中查看partykit-SVN,也可以下载当前的partykit/R/plo.R源代码。
https://stackoverflow.com/questions/31009828
复制相似问题