科研星球

R语言统计与绘图:列线图

列线图(Alignment Diagram),又称诺莫图(Nomogram图),它是建立在多因素回归分析的基础上,这里的回归既包括Logistic回归也包括cox回归,通过回归分析将多个预测指标进行整合,然后采用带有刻度的线段,表达预测模型中各个变量之间的相互关系。

根据百度百科给的解释,其主要是通过模型中各个影响因素对结局变量的贡献程度,给每个影响因素的每个取值水平进行赋分,然后再将各个评分相加得到总评分,最后通过总评分与结局事件发生概率之间的函数转换关系,从而计算出该个体结局事件的预测值。


列线图既然也是一种图,那么它究竟代表的是什么呢?从本质上讲应该就是函数关系的可视化,将回归方程通过图形进行展示,使得结果更具有可读性。正是由于列线图这种直观便于理解的特点,使它在医学研究和临床实践中也逐渐得到了越来越多的关注和应用。


今天我们的主题便是如何借助R实现基于cox模型的列线图的绘制。

欲画该图,必备该包rms



1. 安装rmst包,操作很简单,直接install,接着加载进来就行,接着我们还需要加载示例数据,后台回复,即可领取。                                          
下载.jpeg


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


下载 (1).jpeg




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




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



4. 建立生存函数


下载 (3).jpeg




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




6. 画出列线图:
下载 (5).jpeg
下载 (6).jpeg



7.  美化出图,如下:


下载 (7).jpeg




图如下:
下载 (8).jpeg





没有账号?