手把手掌握临床研究的必备绘图技能:列线图
- 2019 年 12 月 24 日
- 筆記
点击蓝字关注我们
今天我们学习一下临床研究中常见的图的绘制-列线图。
列线图(Alignment Diagram),又称诺莫图(Nomogram图),它是建立在多因素回归分析的基础上,这里的回归既包括Logistic回归也包括cox回归,通过回归分析将多个预测指标进行整合,然后采用带有刻度的线段,表达预测模型中各个变量之间的相互关系。
根据百度百科给的解释,其主要是通过模型中各个影响因素对结局变量的贡献程度,给每个影响因素的每个取值水平进行赋分,然后再将各个评分相加得到总评分,最后通过总评分与结局事件发生概率之间的函数转换关系,从而计算出该个体结局事件的预测值。
列线图既然也是一种图,那么它究竟代表的是什么呢?从本质上讲应该就是函数关系的可视化,将回归方程通过图形进行展示,使得结果更具有可读性。正是由于列线图这种直观便于理解的特点,使它在医学研究和临床实践中也逐渐得到了越来越多的关注和应用。
今天我们的主题便是如何借助R实现基于cox模型的列线图的绘制。
欲画该图,必备该包rms
1. 安装rmst包,操作很简单,直接install,接着加载进来就行,接着我们还需要加载示例数据,后台回复,即可领取。

这个example数据包含一个示例数据,如下,该数据集包括300个病人样本,6列数据,前两列是病人存活时间和存活状态,后面四列是年龄、性别、stage和血小板数四个指标,接下来的列线图模型主要是从四个因素进行列线图绘制:

2. 数据前处理:注意所有的数据都要经过datadist函数处理,这一步至关重要,否则将运行不成功,接着options进行设置,一般情况下原始的读入数据不应该包括缺失值,如果有缺失值,需要加上options(na.action="na.delete")

3. 构建Cox比例风险回归模型:

4. 建立生存函数

5. 绘制列线图

#此处maxscale=100定义了单项分数刻度为100分,也可以设置10分;fun.at是要显示的横坐标轴,可以不设置,但可能出现数字重叠的情况。
6. 画出列线图:


7. 美化出图,如下:

图如下:

Ok,至此我们的列线图结束,我们继续推出列线图美化系列,今天就和大家分享到这。
R语言绘图与统计
R语言系列第一期(番外篇 ):R的6种对象—向量、矩阵、数组、因子、列表、数据框