survminer绘制分层KM曲线时,如何设置总样本风险表?
解决方案
要实现保留分组KM曲线、同时风险表仅展示总样本数的需求,可以通过分别拟合分组与整体生存模型,替换风险表对象的方式实现:
- 先拟合分组生存模型,生成带风险表的基础绘图对象:
# 分组生存模型(用于绘制分层曲线) fit_group <- survfit(Surv(tte, event) ~ trt, data = data) # 生成基础KM图(默认带分层风险表) p <- ggsurvplot( fit_group, risk.table = TRUE, risk.table.pos = "in" )
- 拟合整体生存模型,生成总样本的风险表:
# 整体生存模型(用于生成总样本风险表) fit_overall <- survfit(Surv(tte, event) ~ 1, data = data) # 生成仅含总样本风险表的临时绘图对象 p_overall <- ggsurvplot( fit_overall, risk.table = TRUE, risk.table.pos = "in" )
- 替换基础图的风险表,并调整标题(可选):
# 用总样本风险表替换分层风险表 p$table <- p_overall$table # 自定义风险表标题(比如改为"总风险人数") p$table <- p$table + labs(title = "总风险人数") # 输出最终图形 print(p)
这样处理后,绘图会保留按trt分组的KM曲线,而下方的风险表将展示所有样本的总人数随时间的变化情况。
内容的提问来源于stack exchange,提问作者jackahall
相关产品推荐
相关产品推荐

