第 61 课

进阶版:动态 Nomo 图的绘制

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

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

主讲老师第六十一课:进阶版:动态 Nomo 图的绘制

Nomo 图开始走入大家视野以后,被疯狂应用,几乎很多的文章最后都会往上靠一靠,由于静态版Nomo 图的这个现状,介绍几个进阶版的 Nomo 图(Nomo.zip)绘制方法。而且,绘制一个实用的动态 Nomogram 图,不管是对于文章的特色,还是临床使用,都会极大的增加简便性,更受大家欢迎。下面,我们一起来看一下如何绘制动态 Nomogram 图给文章增添新的色彩

1.R 包与数据准备

1.1 读取 R 包

在正式构建 Nomogram 图前,我们需要首先使用 survival 包构建 Cox 回归模型。

1.2 读取数据

随后,读取相应的数据内容,并使用 str()函数查看数据集内的内容。

可以看到,其中包括 296 个观测,8 个不同的变量内容,包括生存时间(futime),生存状态(fustat),以及相应的临床信息(性别,分期,T 分期,M 分期,N 分期和风险等级)。

同时,根据数据内容,将其中需要用到的分类变量转化为因子形式。

使用函数 datadist()将数据打包。

2.构建 Cox 模型

数据准备完成后,接下来需要对数据进行拟合,构建 Cox 比例风险模型。

在此,使用 survival 包的 coxph() 函数对数据进行拟合建模,通过 summary()函数,查看最终的模型结果接下来,我们将分别使用三种不同的 R 包来分别绘制 Nomogram 图。

3.基于 regplot 包绘制交互式列线图模型

首先,使用 regplot 包来绘制交互式的 Nomogram 图。

使用 regplot() 函数绘制交互式 Nomogram 图,通过 plot 参数设定展示形式,以指定变量图的类型。其中, plots = c(“ density”,“ boxes”) 为默认形式,且针对因子的第二个内容必须为"noplot", "boxes","bars" 和"spikes"中的其中一个。

同时,通过 observation 参数来指定展示其中第 12个患者 TCGA-VQ-A8PB 的相关信息。

在图中红色点代表第 12 个患者对应的临床信息,而且经过模型预测,该患者所对应的Total score 为

1.02 分,1 年内死亡率为 0.114,2 年内死亡率为 0.26,3 年内死亡率为 0.319,整个图形更加的直观

4.基于 DynNom 包绘制模型

随后,我们来看下如何使用 DynNom 包来快速绘制动态 Nomogram 图使用 DynNom()函数可以快速完成动态模型的构建。

接着,我们将患者 TCGA-VQ-A8PB 的相关信息输入进去,其中 gender 为 F,stage 为Stage2,T 为 T3,M 为 M0,N 为 N0,risk 为 high。

点击 Predict,得到相应的预测生存可能性,同时,点击“Numerical Summary”板块。

分别得到其 1 年,2 年和 3 年生存率的预测结果为 0.899,0.740 和 0.680,这与前面通过 regplot()函数预测得到的生存结果是相一致的。关于其他界面的按钮,大家可以自己尝试着点点使用。

5.基于 shinyPredict 包绘制模型

除了 DynNom 包外,还可以使用 shinyPredict 包进行动态 Nomogram 图的绘制。

在 shinyPredict() 函数中,通过 models 参数对需要可视化的模型进行指定, data 参数则需要赋予用于预测的数据框格式的数据内容, path 参数为保存的路径,运行以后,可以在名为 result 的文件夹下看到三个不同的文件。

点击文件“app.R”,使用 RStudio 软件直接打开构建得到的预测模型。

点击右上角的 Run App ,即可启动相应的 App。

与前面的使用方法一样,对相应的临床信息进行选择,即可通过预测模型,对患者的生存情况进行预测。

← 返回批次1总导航