如何用ggcuminc在累积发生率图中添加分事件类型的风险表
解决ggcuminc风险表展示细分事件的问题
要让add_risktable()显示细分事件(风险人群、死于黑色素瘤、死于其他原因),需要指定风险表的统计量类型,并对应匹配事件标签。以下是修正后的完整代码及说明:
完整代码
library(MASS) library(tidyverse) library(survival) library(ggsurvfit) # 数据加载与预处理 data(Melanoma, package = "MASS") Melanoma <- Melanoma %>% mutate( status = recode(status, `2` = 0, `1` = 1, `3` = 2), status = factor(status, levels = c(0,1,2), labels = c("存活", "死于黑色素瘤", "死于其他原因")) ) # 生成累积发生率对象 ci_obj <- cuminc(Surv(time, status) ~ 1, data = Melanoma) # 绘图并添加细分事件的风险表 ggcuminc(ci_obj, outcome = c("死于黑色素瘤", "死于其他原因")) + labs(x = "Days") + add_confidence_interval() + add_risktable( stat = c("n.risk", "cum.event", "cum.event"), # 指定统计项:风险人数、事件1累积数、事件2累积数 labels = c("风险人群", "死于黑色素瘤", "死于其他原因"), # 对应自定义标签 event_levels = c("死于黑色素瘤", "死于其他原因"), # 匹配细分事件类型 risktable_height = 0.2 # 调整风险表高度,避免遮挡主图 )
关键说明
stat = c("n.risk", "cum.event", "cum.event"):明确指定风险表要展示的三类统计内容,分别是当前风险人数、第一个事件的累积发生数、第二个事件的累积发生数。labels:为每个统计项设置对应标签,直接匹配你需要的展示内容。event_levels:指定要关联的细分事件名称,确保cum.event统计量对应正确的事件类型。- 预处理时给
status添加标签,能让绘图和风险表的文字说明更直观,避免用数字指代事件。
内容的提问来源于stack exchange,提问作者Claudio Bravo
相关产品推荐
相关产品推荐

