我正在尝试缩放出现在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。
感谢您的任何建议
答案 0 :(得分:0)
首先:在这样的示例中,最好对响应进行日志转换,因为ctree()
中使用的关联测试将有更多的功能来检测树中拆分的差异。如果确切的零,可能会有一些小的连续性校正。
但是,当然,终端节点中适当缩放的问题与此是分开的。原因是终端节点的视口未设置为clip = TRUE
,因此没有剪切视口区域外的图形元素。
我刚刚在R-Forge的partykit
包中解决了这个问题。尚未安排新的CRAN版本,但您可以从R-Forge查看partykit-SVN,或者只下载当前的partykit/R/plot.R源代码。