如何使用Survminer包优雅的绘制生存曲线?
引言:
生存分析是临床上较为常用的统计学方法,用于比较不同组别的患者在接受干预之后,生存时间的变化情况。生存分析是医学领域中一个重要的内容,在各个疾病领域的研究中都运用十分广泛。在R中进行生存分析常用的包主要有survival包以及survminer包。
Survival 包提供了生存函数的建立,Cox模型的建立,以及比较分析。这个包也提供了基于基础绘图系统的生存曲线绘制。Survminer包提供了基于ggplot2系统对于生存分析的可视化,使得生存分析具有更加美观的图形,以及自我定制方式。
而今天我们的主角就是Survminer包,让我们鼓足精神一起来学习“如何使用Survminer包优雅的绘制生存曲线”吧。
1.Survminer包主要函数介绍
#该包包含的主要函数有:
主要函数用法ggsurvplot ()利用'number at risk'表,事件表的累计数量和被过滤的主体表的累计数绘制生存曲线arrange_ggsurvplots ()在同一页面上排列多个ggsurvplotsggsurvevents ()绘制事件的时间分布surv_summary ()生存曲线总结,默认的summary ()函数相比,surv_summary ()创建一个数据帧,其中包含来自survfit结果的漂亮摘要surv_cutpoint ()一次确定一个或多个连续变量的最佳切点,提供与生存最显著关系对应的一个切点的值。pairwise_survdiff ()生存曲线的多重比较,计算分组级别之间的配对比较,以及多个测试的更正ggcoxzph ()比例危害的图形测试,显示缩放的Schoenfeld残差图,以及使用ggplot2的平滑曲线,plot.cox.zph()的包装器ggcoxdiagnostics ()显示诊断图表显示cr比例危险模型的良好ggcoxfunctional ()显示关于零cox比例危险模型鞅残差的连续解释变量的图,cox模型中连续变量的函数形式的正确选取ggforest ()绘制CoxPH模型的forest plotggcoxadjustedcurves ()绘制coxph模型的调整生存曲线ggcompetingrisks ()绘制竞争风险的累积关联曲线
在以上众多函数中,ggsurvplot ()函数和ggcoxzph ()函数是生存分析中应用最多的函数,arrange_ggsurvplots ()函数是让多个 ggsurvplots作图生存曲线合并。今天我们也将主要讲解这三个函数。(如果需要其他函数的学习,请自行查阅 Survminer包说明文档)
2.主要函数ggsurvplot()
2.1 用法:
ggsurvplot(fit, data = NULL, fun = NULL, color = NULL, palette = NULL, linetype = 1, conf.int = FALSE, pval = FALSE, pval.method = FALSE, test.for.trend = FALSE, surv.median.line = "none", risk.table = FALSE, cumevents = FALSE, cumcensor = FALSE, tables.height = 0.25, group.by = NULL, facet.by = NULL, add.all = FALSE, combine = FALSE, ggtheme = theme_survminer(), tables.theme = ggtheme, ...)
2.2 主要参数详解:
参数用法fit需要画的生存曲线对象,可以是拟合好的生存对象,也可以是包含生存信息的数据框、列表data用来拟合生存曲线的数据集,如果未提供,则将从“fit”对象中提取数据fun定义生存曲线变换的任意函数。event:f(y) = 1-y;cumhaz:f(y) =-log(y);pct:生存率百分比color绘制生存曲线的颜色设置,可使用调色板palette使用调色板linetype改变线条类型conf.int逻辑值,如果为TRUE,则绘制置信区间pval逻辑中,如果为TRUE,则绘制p值pval.method是否添加一个文本,其中包含用于计算pvalue的检验名称,该文本对应于生存曲线的比较。仅在pval=TRUE时使用test.for.trend逻辑值,默认为FALSE,如果是TRUE,返回p值的趋势检测surv.median.line用于在中间生存点绘制水平/垂直线的字符向量,可选择的值包括c("none","hv","h","v")中的一个,其中v:垂直,h:水平risk.table显示绝对数量和风险个体的百分比cumevents指定是否显示累计事件数表的逻辑值,默认值为FALSEcumcensor逻辑值,指定是否显示审查累计次数的表,默认值为FALSEtables.height数值(在[0-1]中),指定主生存图下所有表的一般高度add.all逻辑值如果为真,则将合并患者的生存曲线(空模型)添加到主图中combine逻辑值如果为TRUE,则在同一绘图上合并列表survfit对象2.3 示例:
#首先,安装并加载包,直接在R中安装即可
install.packages("survival")install.packages("survminer")library(survival)library(survminer)
#示例数据选用R语言中非常出名的lung数据集
#查看数据组成View(lung)
#表中数据解释:
time:患者生存时间,单位是days?status:患者结局,1表示删失,2表示死亡 其余变量:自变量,比如:age表示年龄,sex表示性别等等
#然后,使用该数据拟合生存曲线 (这里使用Survival包,具体生存分析的方法可以查看Survival包学习文档)
fit<- survfit(Surv(time, status) ~ sex, data = lung)
#构建好fit对象后,开始画图
#默认参数画图ggsurvplot(fit, data = lung)
# 添加中位生存ggsurvplot(fit, data = lung, surv.median.line = "hv")
图片新闻
最新活动更多
-
11月22日立即报名>> 【线下论坛】华邦电子与莱迪思联合技术论坛
-
11月29日立即预约>> 【上海线下】设计,易如反掌—Creo 11发布巡展
-
即日-12.26火热报名中>> OFweek2024中国智造CIO在线峰会
-
精彩回顾立即查看>> 【线下论坛】华邦电子与恩智浦联合技术论坛
-
精彩回顾立即查看>> 2024(第五届)全球数字经济产业大会暨展览会
-
精彩回顾立即查看>> 全数会2024中国人形机器人技术创新发展大会
发表评论
请输入评论内容...
请输入评论/评论长度6~500个字
暂无评论
暂无评论