问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

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

发布网友 发布时间:2022-10-20 17:52

我来回答

1个回答

热心网友 时间:2024-03-18 16:09

我们经常用随机森林等机器学习又或者是其他数据挖掘的方法寻找某些疾病的biomarker或者候选基因。但是来自临床的数据包括了生存事件等信息,数据的内容有所不同,所以需要一些和之前不太一样分析方法,其中常见的就是通过制作生存曲线图获取结论。

生存曲线可以帮助我们回答许多问题:参与者生存5年的概率是多少?两组之间的生存率是否存在差异(例如,在临床试验中分配给新药还是标准药的两组之间)?某些行为或临床特征如何影响参与者的生存机会?

通常,在这类分析中,我们会关注特定事件(如死亡或疾病复发)的事件,并比较两组或更多组患者发生这些特定事件的事件。

可以看到上图显示了经常玩棋类游戏的老年人和很少玩这类游戏的老年人之间的痴呆风险Kaplan-Meier曲线。纵轴为非痴呆老人的比例,横轴为跟踪的年数,从图中可以看到经常玩棋类游戏的老年人患痴呆的风险较低。

在制作生长曲线之前,我们需要首先了解几个相关的术语
参考: R语言-Survival analysis(生存分析)

Event(事件):指在随访过程中发生的某个结果,如癌症研究中,可能为复发(Relapse)、恶化(Progression)、死亡(Death)

Survival time(生存时间):指某个事件开始到终止的时间,在癌症研究中经常用到的几个指标:
Overall survival(OS):
指从开始到任意原因死亡的时间,一般常见的5年生存率、10年生存率都是基于OS计算的
Progression-free Survival(PFS,无进展生存期):
指从开始到肿瘤发生任意进展或者死亡的时间,可用于评估治疗方法的临床效益
Time to Progress(TTP,疾病进展时间):
从开始到肿瘤发生任意进展或者进展前死亡的时间,与PFS相比仅包括肿瘤的恶化,而不包括死亡。
Disease-free Survival(DFS,无病生存期):
指从开始到肿瘤复发或任何原因死亡的时间,常用于根治性手术治疗或放疗后的辅助治疗的评估
Event Free Survival(EFS,无事件生存期):
指从开始到发生包括肿瘤进展、死亡、治疗方案的改变等各种事件的时间

Censoring(删失):一般指不是由于死亡造成的数据丢失,可能是由于失访、非正常原因推出、时间终止而事件未发生等,一般在展示时用“+”表示

生存分析的方法一般可以分为三类:
1、参数法:已知生存时间的分布模型,根据数据估计模型参数,最后以分布模型计算生存率
2、半参数法:不需要知道生存时间的分布,但是仍通过模型来评估影响生存率的因素,常见方法如Cox回归模型
3、非参数法:不需要知道生存时间的分布,根据样本统计量估计生存率,常见方法如Kaplan-Meier方法、寿命法

具体地,我们通过同样一个例子介绍常用的Kaplan-Meier方法和寿命法的异同。
例子:一项探究死亡时间的前瞻性队列研究,研究涉及20位65岁以上的参与者,招募时间为5年,整个研究进行长达24年的随访直至死亡、研究结束或退出研究(失访)。因此,如果参与者是在研究开始后加入的,他们的最长随访时间应该少于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年在《American Statistical Association》共同发表了Kaplan-Meier非参数估计方法,让我们能够估计生存函数。
从寿命表的方法可以看出生存概率会根据不同的间隔改变,尤其是对于小样本而言这种改变可能会很剧烈。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 Resial Disease》,主要研究化疗敏感性和宿主因素对晚期卵巢癌和微小残留病变的预后影响,具体含有以下几个指标:
futime: survival or censoring time 生存时间
fustat: censoring status 确定参与者生存时间是否发生缺失
age: in years
resid.ds: resial disease present (1=no,2=yes) 评估肿瘤的消退情况
rx: treatment group 接受两种治疗方案中的一种
ecog.ps: ECOG performance status (1 is better, see reference)依据ECOG评估的患者表现

为了更直观的获取信息,我们根据说明修改一下部分指标的标记方式:

然后我们来看一下年龄的分布 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: 火山图

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
imba里能抽到什么好装备 DOTA IMBA神器抽奖抽到几率和大野爆的几率。还有小鸡无限眼的BUG能不能... 《魔兽世界》怀旧服玩具获取方法 求最好的手机杀毒软件 手机杀毒软件哪个好用 2023年最旺女孩名字有草有水296个 我的世界红石电梯怎么制作 怎么用微信申请微信号? 有些网页不能复制,可我想要复制下来,该怎么弄啊? 电脑网址怎么保存电脑怎么收藏网址 怎么办,还是最想去土耳其? 圣安地列斯家庭服务celo一靠近女的就卡死是怎么回事,应该怎么解决_百度... 国际歌的歌词有几段? 二年级植树节手抄报 海珠湖公园怎么坐车226公交到吗 火车站到三卯宫做几路车 226公交车发车去镇江南站时间 气短应该吃什么药? 气短吃什么药能好呢? 胸闷气短吃什么药缓解? hp8150N怎么改打印机的IP地址 怎样设置HP8150打印机的IP地址? HP8150打印机IP要怎么设置 求CTH680手绘板驱动,原来的光盘被我弄丢了,现在不知道该怎么办,急需 京东返还方式余额是什么意思 手绘板驱动光盘不见了怎么办 白玉菇和腐竹怎么做,好吃下饭,光汤汁拌饭,孩子就能吃掉一碗饭呢? 腐竹怎么炒小孩喜欢吃 最近家里漆栏杆,请问怎么样才能简单地让油漆味消散? 中国移动的个人黑户怎么才能注销呢? 四年没用的移动全球通黑户了怎么办 动物园能养骆驼是否当地气候就可以养骆驼 骆驼可以群养吗? 北方的气候适合养骆驼吗!我们怀来县能养骆驼吗?这里的温度行吗? 现货发售是什么意思?它是一个什么样的模式 求迪丽热巴动图免费神仙美图暴击资源嘛,高清免费谢谢!! 微信群消息怎么屏蔽 如何不接群消息 有没有大神知道小新V4000怎么换WIN7系统 网站建设收费么 地球的表面积公式是什么 aip平板电脑屏幕划不动也没法关机怎么办 新买的苹果aip2怎样激活啊?步骤 联想aip弄了重新出厂设置之后为什么开不了机了? 上海建峰职业技术学院邮编 附地址和介绍 电动车保修需要带什么 粉蒸香芋排骨的做法 香芋粉蒸排骨做法介绍 晒伤的皮肤怎么修复 TCLKFRd—35GWBL13制冷正常不制热 双流机场疫情电话24小时服务热线 雅马哈电子琴节奏上标志POPBALLAD什么意思- 问一问 Leetcode - Reverse Bits