临床预测模型之绘制cox回归列线图

如题所述

前面的视频我们了解了关于生存分析的 KM曲线和log-rank检验, Cox回归的多因素生存分析,以及如何评估Cox模型假设有效性。在建立了cox回归模型之后,如何把模型展示出来,这就需要用到“列线图”。列线图,也叫nomogram图,是一种直观有效地展示Cox回归结果的一种方法。我们今天就来了解一下列线图。

关于列线图(Nomogram)1. 列线图长什么样子? 下面就是列线图的样子:

最左边的给出了一些变量名称,包括:points(评分),age(年龄),sex(性别),ECG(心电图),Total Points(总分),Risk(风险)。每个变量名右侧都有一条标有数值的直线轴,代表不同的评分或概率。

2. 怎么看这个图? 就那上图来说。我们想知道年龄45岁 (age=45) 的女性(sex=1)的患病风险,只需要将age=45岁向“ points(评分)”轴投射,则:points=50;同理 sex=1 时,points≈37。两者相加则“ Total points=87”;将此数值在“ Total points ”轴上向“ Risk ”概率轴投射,则可知风险大概在0.4和0.5之间。(参见图中红线)

如何制作列线图 下面我们看看如何通过R语言来绘制列线图。

1. 载入R包 我们打开Rstudio后,首先载入要用到的R包,如果没有安装的话,记得先安装。

2. 载入数据 今天我们用到的数据是survival程序包的lung数据:

载入后我们看一下这个数据集:

在这个书籍中我们可以添加变量标签以便后续说明

这里,1 = male ,2 = female。

3. 数据打包 按照nomogrm()函数的要求,需要先“打包”数据,这是绘制列线图的关键步骤。”打包”用到的是datadist()函数, 该函数计算预测器的统计摘要,以自动估计和绘制效果。

用户通常将最终的数据框提供给datadist()函数,并使用options函数设置数据分布。

注意,如果修改数据框中的数据,则需要使用datadist()函数重置分布摘要。在R中输入: ??datadist可以查看详细说明。

4. 构建Cox模型 这里我们用cph()函数来拟合Cox比例风险回归模型, 你也可以尝试使用 coxph()函数来拟合,自己可以尝试一下。

5. 构建生存函数6. 绘图:预测中位生存时间 生成的图像是这样的,注意图的最下一行是“ Median Survival Time(中位生存时间)”。7. 绘图:预测生存概率 这里要注意的是,lung数据的“time”是以“天”为单位。

生成的图像是这样的,注意图的最下一行是“ 1-year Survival Probability(1年生存率)”和“2-year Survival Probability(2年生存率)”。

评价COX回归的预测效果 我们主要计算“ C-index ”即C-指数和绘制矫正曲线,来对Cox回归的预测效果进行评价。

1. 计算C-指数2. 绘制校正曲线 这里对参数做一些说明:

重新调整模型函数res.cox2 这里是加上了x=T, y=T,Every great company starts with a great name. = 365三个参数:

构建校正曲线 通过??rms::calibrate查看详细参数说明 绘制校正曲线 生成的校准曲线图是这样的:

本人为业余选手,不当之处,还请各位看官批评指正,以求共同进步。
温馨提示:答案为网友推荐,仅供参考
相似回答