partykit - 如何在不重叠终端节点的情况下绘制 glmtree?
partykit - How to plot a glmtree without overlapping of terminal nodes?
我想绘制一棵由 glmtree(partykit 包)生成的树。不幸的是,终端节点重叠,图表的标签不再正确显示。
生成树的代码是这个:
library(partykit)
library(aVirtualTwins)
data(sepsis)
attach(sepsis)
data <- cbind(y = survival, trt = as.factor(THERAPY), sepsis[,3:13])
formula <- as.formula(paste("y ~ trt", paste(names(sepsis[,3:13]),
collapse = " + "), sep = " | "))
fit <- glmtree(formula, data, family = binomial)
plot(fit)
detach(sepsis)
有没有办法自定义 plot() 的输出以避免终端节点重叠?
这是我的意思的图片:
glmtree
对象(以及其他 partykit
对象)的 plot()
输出可通过树的各个方面(内部节点、终端节点、边缘、 ...)。这种树默认使用的面板函数是 node_bivplot()
,它有许多可以调整的参数。有关详细信息,请参阅 ?node_bivplot
。例如,这里的相关选项是 ylines
,您可以将其增加到 2
。
向终端面板函数传递参数tp_args
可以使用:
plot(fit, tp_args = list(ylines = 2))
我想绘制一棵由 glmtree(partykit 包)生成的树。不幸的是,终端节点重叠,图表的标签不再正确显示。
生成树的代码是这个:
library(partykit)
library(aVirtualTwins)
data(sepsis)
attach(sepsis)
data <- cbind(y = survival, trt = as.factor(THERAPY), sepsis[,3:13])
formula <- as.formula(paste("y ~ trt", paste(names(sepsis[,3:13]),
collapse = " + "), sep = " | "))
fit <- glmtree(formula, data, family = binomial)
plot(fit)
detach(sepsis)
有没有办法自定义 plot() 的输出以避免终端节点重叠?
这是我的意思的图片:
glmtree
对象(以及其他 partykit
对象)的 plot()
输出可通过树的各个方面(内部节点、终端节点、边缘、 ...)。这种树默认使用的面板函数是 node_bivplot()
,它有许多可以调整的参数。有关详细信息,请参阅 ?node_bivplot
。例如,这里的相关选项是 ylines
,您可以将其增加到 2
。
向终端面板函数传递参数tp_args
可以使用:
plot(fit, tp_args = list(ylines = 2))