ctree 图终端节点中的缩放图
Scaling plots in the terminal nodes of ctree graph
我正在尝试缩放出现在 ctree 的终端节点中的图。我试过使用 yscale 参数,但这只是结果超出了绘图 window
例如:这是两个指数分布的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 轴,但现在绘图超出了绘图框。
抱歉,我会显示图像,但在 Whosebug 上还没有足够的权限。
感谢任何建议
首先:在这样的示例中,最好对响应进行对数转换,因为这样 ctree()
中使用的关联测试将更有能力检测树中分裂的差异。如果有精确的零点,一些小的连续性校正可能会有所帮助。
但是,当然,终端节点的适当缩放问题与此不同。原因是终端节点的视口未设置为 clip = TRUE
,因此没有裁剪视口区域外的图形元素。
我刚刚在 R-Forge 的 partykit
包中解决了这个问题。尚未安排新的 CRAN 版本,但您可以从 R-Forge 查看 partykit-SVN 或下载当前的 partykit/R/plot.R 源代码。
我正在尝试缩放出现在 ctree 的终端节点中的图。我试过使用 yscale 参数,但这只是结果超出了绘图 window
例如:这是两个指数分布的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 轴,但现在绘图超出了绘图框。
抱歉,我会显示图像,但在 Whosebug 上还没有足够的权限。
感谢任何建议
首先:在这样的示例中,最好对响应进行对数转换,因为这样 ctree()
中使用的关联测试将更有能力检测树中分裂的差异。如果有精确的零点,一些小的连续性校正可能会有所帮助。
但是,当然,终端节点的适当缩放问题与此不同。原因是终端节点的视口未设置为 clip = TRUE
,因此没有裁剪视口区域外的图形元素。
我刚刚在 R-Forge 的 partykit
包中解决了这个问题。尚未安排新的 CRAN 版本,但您可以从 R-Forge 查看 partykit-SVN 或下载当前的 partykit/R/plot.R 源代码。