科研猫 | 最后更新时间:2020-01-14
我们的示例数据跟我们平时做分析的数据一摸一样,分为三列,依次为:
(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%置信区间也有了,堪称完美。中间一个表格是对应不同生存时间的患者数量,很直观的比较不同组别之间差异。下面一张图是不同分组的截断数据的数量,柱状图,非常明了。这三个子图统一构成了我们的生存曲线图,可谓完美。