如何使用Survminer包优雅的绘制生存曲线?
如何使用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")
3 4 首页 下一页 上一页 尾页-
移动支付高歌猛进,市场渐趋饱和进入多业态生存2020-12-03
-
“奇袭”250+会议平板品牌 浅谈MAXHUB数字化时代的生存哲学2020-11-13
-
车市头部效应凸显,二线品牌生存压力加剧2020-10-16
-
华为海思面临生存难题,麒麟9000成为绝版芯片2020-09-20
-
2020上半年机器人系统集成商生存状况究竟如何?2020-09-15
-
A级通缉犯被抓获:国内没有通缉犯的“生存”环境2020-04-26
-
日产欧洲董事长:若英国欧盟加征10%汽车关税 我们将无法生存2020-02-25
-
任正非:美国夸大华为威胁 有信心在进一步攻击中生存下来2020-01-22
-
生存之争?盘点自动驾驶出租车主要玩家(国内篇)2019-12-12
-
资本市场生变,服务机器人生存指南2019-10-17
-
2018-2019中国药品零售产业全景报告:传统药店形态将难以生存,产业进入转型期2019-08-16
-
全面4+7集采来临,药企极限生存假设成真,百万药代失业!2019-07-15
-
IoT化-星巴克智能化生存第一步2019-06-14
-
从格力举报奥克斯,看药企极限生存危机!2019-06-12
-
药企必须学习华为,进行极限生存假设!(上)2019-06-11