前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【绘图】深度测评:生存分析还可以如此诱人!

【绘图】深度测评:生存分析还可以如此诱人!

作者头像
用户6317549
发布2020-02-13 17:16:52
1.8K0
发布2020-02-13 17:16:52
举报
文章被收录于专栏:科研猫科研猫

生存分析,survival analysis,是研究影响因素与生存时间和结局的重要方法,直白点说,就是分析“因素”和“生存”是否相关,能够直接将研究的因子和患者最终的预后表型关联起来,其重要性可想而至。

在前面的教程【科研猫】生存分析的正确姿势,我们以TCGA中的肿瘤病人和基因表达为例,给大家讲解了生存分析用R语言应该怎么去做,还出了一个特别专刊【科研猫·出品】TCGA超大批量生存分析教程,是给大家讲解了,如何通过R代码去批量分析成千上万的基因与肿瘤预后的相关性,很多同学都表示收获很大,通过生存分析筛选自己感兴趣的基因,极大地提高了工作效率。今天,我们从抛开数据分析的角度,从绘图,从高级可视化的角度出发,教大家如何去绘制一个“美丽诱人”的生存分析KM曲线(Kaplan-Meier curve)。同时,为了比较不同软件进行生存分析绘图的优缺点,我们此次绘图分析教程引入了SPSS、GraphPad、Origin等一众软件,进行一个深度比较和测评。好了,废话不多说,直接进干货。

基本概念

在正式开始之前,我们需要对生存分析中的几个概念再做一下解读和强调,免得有些同学搞不清楚基本概念:

生存时间(survival time)

指的是从开始事件到终点事件所经历的事件跨度。例如,肿瘤患者从发病到死亡所经历的事件跨度,冠心病患者两次发作之间的时间间隔等。注意:在进行实验设计时,需要对起始事件、终点事件、时间单位进行明确的定义。

生存结局(survival status)

一般分为死亡和删失两类。死亡指的是我们感兴趣的终点事件。除此之外的结局或生存结局则归类为删失(censoring),也称为截尾或终检。删失的一般原因有:1. 研究截至日期时,感兴趣终点事件仍未出现;2. 失访,不知道感兴趣终点事件何时发生或是否会发生;3. 因各种原因中途退出;4. 死于其它事件,如交通意外或其他疾病。

统计分析(statistics)

生存分析的统计分析可以分为以下几种:

1. 描述统计:常采用Kaplan-Meier法进行分析,并绘制生存曲线;对于频数表资料,则可以采用寿命表进行分析(属于非参数统计方法)。

2. 比较分析:我们经常需要对不同组别的生存率进行比较分析,比如比较使用或不用某种药物的患者的生存率是否不同。经常采用的log-rank检验以及Breslow检验。

3. 影响因素分析:我们可以建立生存模型来探讨哪些因素影响生存时间。常用的方法有两类,一类为半参数法:Cox比例风险模型;还有一类为参数法,主要有logistic分布法、Gompertz分布法等回归模型。这一类分析最近做的人非常多,比如分析基因表达量与生存的关系,找出关键基因建立评估模型等。类似的文章很多,我们后续会开一个专题跟大家讲讲类似的分析和文章套路。

读入数据

我们的示例数据跟我们平时做分析的数据一摸一样,分为三列,依次为:

(1)生存时间:可以是天或者月,必须是数值;

(2)生存结局:分为0和1,其中1代表事件发生,如果是生存和死亡的话,1就代表死亡;

(3)分组信息:不一定非要是两组,三组也是可以的哦。我们这里用的就是G1、G2和G3三个分组;

开始绘图

开始正式绘图之前,咱们先看看平时用的绘图软件绘制出来的生存曲线图形。

SPSS

先看看统计软件的老大哥,已然落伍的SPSS。依旧是经典的画风,图形看上去中规中矩,最大缺陷是没有log rank test的p value,还要分析以后自己手动加上去。

GraphPad

再来看看统计绘图软件领域的新宠,近几年在国内用的很多的Prism Graphpad,是个付费软件,我周围用的人还不少。Graphpad画出来的KM图是这样的。看了之后,最直接的评价就是两个字:“吃藕(chou)”,而且依然没有p value在图上标出。当然,客观的讲,如果去调整一下参数的话,可能图形会漂亮一些,但是浪费时间和心力啊。

Origin

咱们再来看看另外一个软件,Origin。Origin也是一款流行的数据绘图软件,为广大科研工作者使用。特别是在国外实验室,用的也是比较多的。做出来的图如下所示,也是中规中矩,而且自动标注了P value,这点比上面的SPSS和Graphpad稍好一些。

R

下面,测评的差不多了,我们就进入到最为关键的环节,如何绘制一个“优雅不轻浮,精致不繁琐”的生存曲线图。当然,我们的工具还是R语言,作为目前绘图领域首屈一指的工具语言,要想画好图,必然还是用R来做。我们通过使用R的survival包和survminer包进行绘图,多种绘图模式可供选择,画出来的图形是这样子的:

没错,就是这么漂亮,我相信各位肯定有眼前为之一亮的感觉。这个图分为是三个部分:最上面是生存曲线,配色都配好的,p值也标注好了,半数生存的时候对应的时间也标好了,95%置信区间也有了,堪称完美。中间一个表格是对应不同生存时间的患者数量,很直观的比较不同组别之间差异。下面一张图是不同分组的截断数据的数量,柱状图,非常明了。这三个子图统一构成了我们的生存曲线图,可谓完美。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-01-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 科研猫 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档