第 60 课

竞争风险模型

课程讲义导读 · 聚焦本课核心概念、分析流程与复现要点

说明:本页适合用于快速回顾本课重点、关键步骤与常用示例。

主讲老师第六十课:竞争风险模型

关于竞争风险模型(cmprsk.zip)的使用,一般生信分析中用的相对不多,而在临床分析中比较常用, 因为生信分析比较难获得这部分数据,具体为什么呢?我们来看下解释:在平常的研究中,除了预期的目标结局以外,事情的发展过程往往会出现一些预期之外的结局事件。当然,临床和生信研究同样不例外,观察的终点往往不是单一的,而是存在多个终点和竞争风险事件。举个例子,当我们以肿瘤患者的复发为结局变量时,有时候部分患者会因为其他原因,如车祸,其他疾病等等等影响,无法观察到预期的结局变量,而且,不同终点之间也会存在一定的相关性,此时,就需要使用一种新的模型来进行评估,即竞争风险模型。往往生信数据中不会存在这部分意外数据,而在自己收集使用的临床数据中更为常见,竞争风险模型是处理多种终点和竞争风险事件存在的生存数据分析方法,竞争风险事件则是指研究对象在出现预期的结局事件同时还会出现其他的结局事件,并且其他结局事件往往会对预期结局事件的发生产生一定的干扰作用。因此,在竞争风险模型中,我们主要关心观察对象第一个发生的终点事件,而后面发生的结局事件则称为删失事件,下面,我们一起来看一下如何构建竞争风险模型以及通过 Nomogram 图进行可视化展示。

关于这部分补充内容,大家了解即可,将来遇到这种数据且要进行分析时,再回过头来看看,优先掌握今天前面的内容。

1.R 包和数据准备

1.1 读取 R 包

在此,我们主要使用 cmprsk 包来进行竞争风险模型的构建。

1.2 读取示例数据

在数据集中,主要探讨了骨髓移植对比血液移植治疗白血病的疗效,并设定“复发”为预期的感兴趣的结局事件,而由于移植相关死亡等事件的影响,会对“复发”结局的观察产生影响,因此,我们需要使用竞

争风险模型来分析“复发”与其他结局事件之间的竞争关系。

可以看到,在该数据集中,一共包含了 177 个观察对象,7 个相关的临床和结局指标,其中,Sex 为性别,D 表示 Disease 疾病,Phase 为缓解情况,Age 为年龄,Source 表示骨髓移植和血液移植情况,而 Statue 为随访结局(1 为复发,2 位竞争风险事件),ftime 为随访时间。

2.构建风险模型

2.1 使用 cuminc()函数进行单因素分析

首先,我们使用 cuminc() 函数进行 Fine-Gray 检验,即单因素分析。

可以看到,在控制了竞争风险事件之后,ALL 和 AML 两组之间的累计复发风险无统计学差异(P =

0.09),并且,est 表示各时间点 ALL 和 AML 两组患者的累计复发率与与累计竞争风险事件发生率,

var 表示两组累计复发率与与累计竞争风险事件发生率对应的方差值。

接着,根据累计复发率与累计竞争风险事件发生率的相关性,绘制相关的生存曲线,将上面的数字结果进行可视化展示其中,横坐标是时间轴,纵坐标表示累计发生率 CIF

2.2 使用 crr()函数进行多因素分析

接着,我们使用 cmprsk 包中 crr()函数进行竞争风险模型的多因素分析,在该函数中,必须指定相应的时间变量与结局变量,将变量矩阵或数据框输入函数中。

首先,我们对变量进行设置,生成一个新的数据框格式将时间变量和状态变量输入 crr() 函数中,指定 failcode=1 , cencode=0 , 分别代表结局事件赋值 1 与截尾赋值 0,其他赋值默认为竞争风险事件 2。

可以看到,在控制了竞争风险之后,如果对疾病第一次完全缓解的人做移植的复发风险是处于复发阶段病人的 0.332 倍,而在控制了竞争风险之后,如果对疾病第二次完全缓解的人做移植的复发风险是处于复发阶段病人的 0.361 倍。

3.绘制竞争风险模型 Nomogram 图

随后,我们使用 Nomogram 图来对竞争风险模型进行可视化展示。

3.1 数据整理

根据要求,对数据集中相关变量水平进行重新定义,并转化为因子(factor)水平。

3.2 数据集加权

通过 mstate 包中的 crprep()函数,对相关的因变量进行加权处理。

整理完成后,将数据进行打包

3.3 竞争风险分析

接着,使用加权后的数据集,对其进行 Cox 回归分析,构建模型并且,通过构建好的模型,分别预测数据集中患者 1 年,3 年和 5 年的生存情况

3.4 构建 Nomogram 图

最后,将构建好的回归模型和预测结果输入到 nomogram()函数中,构建列线图到此,关于竞争风险模型的构建和可视化展示过程就到此完成了。

← 返回批次1总导航