如何使用survminer的ggsurvplot将Kaplan-Meier图Y轴改为失效概率
你可以通过ggsurvplot内置的fun参数直接实现该需求,该参数支持自定义Y轴的转换规则,其中fun = "event"就对应输出事件发生概率(即1-生存概率),正好匹配你需要的患病风险指标。
修改后可直接运行的代码
km_fhr <- ggsurvplot(fit = survfit(Surv(fu_time, smidg) ~ fhr, data = df), legend.labs = c("Control", "Family high-risk"), legend.title = "", censor.shape = 124, censor.size = 2.5, palette = c("#00ABE7", "#FFA69E"), fun = "event") + # 新增该参数即可自动转换为事件发生概率 labs(x = "随访时间(年)", y = "SMI确诊概率")
补充灵活调整方法
如果你需要额外自定义图层,也可以通过提取ggsurvplot返回的ggplot对象手动修改Y轴映射:
# 提取原始生存曲线的ggplot对象 raw_plot <- km_fhr$plot # 手动转换Y轴为发病概率并修改标签 new_plot <- raw_plot + aes(y = 1 - y) + labs(y = "SMI确诊概率")
除此之外fun参数还支持其他常用转换规则:
fun = "pct":将生存概率转换为百分比格式fun = "cumhaz":输出累积风险值- 也支持传入自定义函数实现特殊转换需求
内容的提问来源于stack exchange,提问作者dam4l10
相关产品推荐
相关产品推荐

