打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
临床预测模型 | 第12期.生存分析V-听说你想要KM曲线教程

上期内容中,我们介绍了竞争风险模型(第11期.生存分析IV-当生存分析遇上竞争事件)。我们用之前四期内容,从方方面面对生存分析做了很多的介绍,你一定已经学会了基本的统计学原理和操作。但是除了做出统计结果,我们还需要用图来更直观地展示我们的数据,其中生存曲线就是临床研究中常常用到的,今天就教大家画一张美美的生存曲线!

一、数据准备

之前说过,生存分析有3个非常重要的变量,分别是随访时间、生存状态和分组变量,我们以自带数据集lung做演示。其中time就是随访的时间,单位是“天“,status是生存状态,sex表示性别,分别代表男性女性,是本次示例中的分组变量(如下图)。

#install.packages(c('survival','survminer','ggsurvfit'))
library(survival)
library(survminer)
library(ggsurvfit)
lung=lung

二、作图

话不多说,我们直接上代码:

fit=survfit(Surv(time,status)~sex,data=lung)
ggsurvplot (fit,
            ggtheme=theme_bw(),#调整背景风格 https://ggplot2.tidyverse.org/reference/ggtheme.html
            title="",#设定标题
            font.title=c(14,"bold","black"),#调整标题的字体大小、颜色等
            xlab='Follow-up time (year)',#设定x轴标签
            ylab="Survival probability (%)",#设定y轴标签
            font.x=c(13,"plain","black"), #调整x轴的字体大小、颜色等
            font.y=c(13,"plain","black"),#调整y轴的字体大小、颜色等
            xlim=c(0,800),#设定x轴范围
            ylim=c(0,1),#设定y轴范围
            font.tickslab=10,#调整刻度的字体大小、颜色等
            break.x.by=365.25,#设定x轴间距,365.25代表1年
            break.y.by=0.25,#设定y轴间距
            xscale='d_y',#表示将时间日转化为年,还可以"m_y"等,具体见帮助文档
            surv.scale="percent",#以百分数表示
            censor=TRUE, #显示删失点
            censor.shape=124, #删失点的形状
            censor.size=2,#设定删失点大小
            conf.int=TRUE, #添加图形加置信区间
            palette=c('#54738E''#82AC7C'),#自定义曲线颜色,也可选内置配色
            pval = TRUE,#添加p值,也可以自定义,如pval="P < 0.001"
            pval.size=4,#值字体大小
            pval.method = TRUE, #添加检验方法,默认是log-rank
            pval.method.size=4, #log-rank字体大小
            pval.coord=c(0.5,0.15), #P值显示位置
            surv.median.line = "hv",#添加中位生存时间
            risk.table =TRUE, #添加风险表
            risk.table.col="black",#风险表设定颜色
            risk.table.height=0.2,#风险表高度(0-1之间)
            risk.table.fontsize=4,#字体大小
            risk.table.y.text=FALSE, #如为TRUE,风险表纵轴显示为male和female
            risk.table.y.text.col=TRUE, #如为FALSE,风险表纵轴不显示为图例颜色
            risk.table.pos="out",#设定风险表的位置,在生存曲线内("in")还是外("out")
            risk.table.title="Number at risk ",#设定风险表的标题
            tables.theme = theme_void(),##调整风险表的风格
            legend.title="",#设定图例标题
            legend=c(0.8,0.8),#设定图例位置
            legend.labs=c("Male","Female"), #设定图例标签
            font.legend=c(11,"plain","black"),#设定图例字体大小、颜色等
            size = 0.8,#调整生存曲线的粗细
            linetype="solid"##调整生存曲线
)

其实ggsurvfit是个非常强大的包,还有很多参数等待大家去探索,具体的可以运行”?ggsurvplot”查看帮助文档哦。那么这就是本期的全部内容啦,你学会了吗?大家对于推送内容有任何问题或建议可以在公众号菜单栏“更多--读者的话” 栏目中提出,我们会尽快回复!

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
R语言:利用survminer包实现生存分析及可视化
R语言生存分析入门
​R|生存分析 - KM曲线 ,值得拥有姓名和颜值
用R语言进行KM生存分析
survminer|生存分析及其可视化
R语言绘制生存曲线估计|生存分析|如何R作生存曲线图
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服