为了获得博士学位,为了确定COVID-19死亡率的预测因素,我使用Ctree计算了一个分类生存树。下面是使用的代码:
library(survival)
library(survminer)
library(party)
library(partykit)
tmodel<- ctree(Surv(time,status_cov) ~ Age + Sex + Education + Migrant.background + Income + Living.situation, data = up_training_cov,control = ctree_control(maxdepth = 3))
plot(tmodel,
type = "simple",
gp = gpar(fontsize = 10),
drop_terminal = TRUE,
tnex = 1,
beside = FALSE,
ymax = 1,
ylines = TRUE,
widths = 1,
gap = 0.1,
reverse = FALSE,
id = TRUE)
下面是输出:
我还计算了一个图,其中包含估计的平均生存时间和每个终端节点中的个体数量:
我想保持图的原样,除了图之外,计算每个终端节点的Kaplan Meier生存曲线,并在同一个图上显示8个终端节点的所有生存曲线,每个终端节点用一种颜色,以便我可以直观地比较每组的生存曲线。
- 有人能帮我得到KM曲线并绘制它们吗?:)***
多谢了!
1条答案
按热度按时间yhxst69z1#
如果从
plot
调用中删除type = "simple"
,将得到KM曲线。显然,您的数据太大而无法共享,因此这里有一个可复制的示例,使用survival包中的
cancer
数据集:现在,如果我们使用您的精确绘图代码,我们得到:
但是如果我们移除
type = "simple"
,我们在每个叶子节点处得到KM曲线如果要在单个面板上显示所有KM曲线,可以执行以下操作:
如果您希望所有图都在不同的页面上,则可以通过根据
tmodel@get_where()
分割数据来单独创建它们,这将每个观察值分配给一个叶节点。只需生成KM图的列表并使用拼凑绘制它们: