R数据可视化14:生存曲线图

如题所述

我们常用机器学习方法或其他数据挖掘技术寻找疾病的生物标记物或候选基因。然而,当处理来自临床的数据,这些数据包含生存事件等信息,与之前所处理的数据不同,因此需要不同的分析方法,其中生存曲线图是常见的分析工具。
生存曲线图能够帮助我们回答许多问题:一个人生存五年的概率是多少?不同组别(例如,临床试验中接受新药或标准治疗的两组)之间的生存率是否有差异?某些行为或临床特征如何影响个体的生存机会?
在这类分析中,我们通常关注特定事件(如死亡或疾病复发)的发生,并比较两组或多组患者发生这些事件的情况。
上面的图表显示了经常下棋的老年人和很少下棋的老年人之间的痴呆风险Kaplan-Meier曲线。纵轴表示非痴呆老人的比例,横轴表示跟踪的年数。从图中可以看出,经常下棋的老年人患痴呆的风险较低。
在制作生存曲线之前,我们需要了解几个相关术语:
- 事件:在随访过程中发生的某个结果,如癌症研究中的复发、恶化或死亡。
- 生存时间:指某个事件开始到终止的时间,癌症研究中常用的指标有总生存期(OS)、无进展生存期(PFS)等。
- 删失:指由于非死亡原因导致的数据丢失,如失访、非正常原因退出、时间截止而事件未发生等,通常用“+”表示。
生存分析的方法大致可以分为三类:
1. 参数法:基于已知的生存时间分布模型,通过估计模型参数来计算生存率。
2. 半参数法:不需要知道生存时间的分布,但仍然通过模型评估影响生存率的因素,如Cox回归模型。
3. 非参数法:不需要知道生存时间的分布,通过样本统计量估计生存率,如Kaplan-Meier方法。
我们通过一个例子来介绍Kaplan-Meier方法和寿命法的异同。这个例子是一项关于死亡时间的前瞻性队列研究,涉及20位65岁以上的参与者,随访时间为5年,研究持续了24年,直到参与者死亡、研究结束或失访。具体数据如下,其中6位参与者死亡,3位接受了完整的随访(24年),其余11位由于在研究开始后加入或失访而少于24年随访。
寿命法常用于保险行业中估计预期寿命并设置保费。在生物领域,我们关注的是随访生命表,该表记录了参与者在队列研究或临床试验中在预定随访期内的经历,直到目标事件发生或研究结束为止。
要构建生命表,我们需要将随访时间分割成几个等距的时间间隔,上述例子中随访的最长时间为24年,所以我们考虑每5年一个间隔(0-4年,5-9年,10-14年,15-19年和20-24年)。然后统计每个时间间隔开始时活着的参与者人数,以及该期间死亡人数和删失人数。
然后,我们定义几个参数:
- N_t:在时间间隔t内未发生目标事件但处于风险中的人数(如本研究中目标事件为死亡,参与者都处于可能死亡的风险之中)。
- D_t:在时间间隔t内死亡的人数。
- C_t:在时间间隔t内删失的人数。
- N_t*:在时间间隔t内有风险的参与者的平均数(计算公式为:N_t* = N_t - C_t /2)。
- q_t:时间间隔t内死亡比例,q_t = D_t / N_t*。
- p_t:时间间隔t内生存比例,p_t = 1 - q_t。
- S_t,累计生存概率,S_0 = 1, S_t+1 = p_t+1 * S_t。
因此,对于第一个间隔0-4年和第二个5-9年的间隔,可以计算出如下数据:
所以完整的随访寿命表为:
Kaplan-Meier方法由Edward Kaplan和Paul Meier于1958年提出,是一种非参数估计方法,让我们能够估计生存函数。
从寿命表的方法可以看出,生存概率会随着不同间隔而改变,特别是对于小样本而言这种改变可能会很剧烈。Kaplan-Meier通过每次时间发生时重新估计生存概率来解决这个问题。Kaplan-Meier的假设是删失与事件发生的可能性无关,且在研究早期和后期招募的参与者生存率是可比的。这些前提很重要,比如在不同组比较时要保证删失的可能性一致。
Kaplan-Meier与寿命法的计算方式相似,主要区别是时间间隔的选择,寿命法中我们选择的时间间隔相等,而在Kaplan-Meier的方法中我们使用观察到的事件时间和删失时间。
上述内容以及进一步的检验和Cox模型的内容可以参考Boston大学的教材《Boston Univeristy Suvival Analysis》。在这里就不详细解释了。
今天我们要用到以下几个R包:survival,survminer和dplyr。使用KM方法,通过ggsurvplot函数作图,该函数作图需要两部分数据,具体见下:
1)需要什么格式的数据
我们使用的数据集为ovarian,来自survival包。该数据集来源于文章《Different Chemotherapeutic Sensitivities and Host Factors Affecting Prognosis in Advanced Ovarian Carcinoma vs. Minimal Residual Disease》,主要研究化疗敏感性和宿主因素对晚期卵巢癌和微小残留病变的预后影响,具体含有以下几个指标:
- futime:生存时间或删失时间
- fustat:确定参与者生存时间是否发生缺失
- age:年龄(岁)
- resid.ds:肿瘤消退情况(1=无,2=有)
- rx:治疗组别
- ecog.ps:ECOG表现状态(1表示较好,具体参考文献)
为了更直观地获取信息,我们根据说明修改一下部分指标的标记方式。然后我们来看一下年龄的分布hist(ovarian$age)。然后我们进行生存曲线的分析,使用futime和fustat两列,首先根据是否发生删失对数据进行处理。
可以看到发生删失的都带上了加号。然后拟合Kaplan-Meier曲线:
2)如何作图
然后使用ggsurvplot功能进行绘图,如果选择pval=TRUE会显示两组差异检验结果的pvalue。
如果想要研究与resid.ds的关系:
往期R数据可视化分享:
- R数据可视化13:瀑布图/突变图谱
- R数据可视化12:曼哈顿图
- R数据可视化11:相关性图
- R数据可视化10:蜜蜂图 Beeswarm
- R数据可视化9:棒棒糖图 Lollipop Chart
- R数据可视化8:金字塔图和偏差图
- R数据可视化7:气泡图 Bubble Plot
- R数据可视化6:面积图 Area Chart
- R数据可视化5:热图 Heatmap
- R数据可视化4:PCA和PCoA图
- R数据可视化3:直方/条形图
- R数据可视化2:箱形图 Boxplot
- R数据可视化1:火山图 Volcanom
温馨提示:答案为网友推荐,仅供参考
相似回答
大家正在搜