列线图,英文Nomogram,又可以称为诺莫图。简单的说,就是将Logistic回归或Cox回归的结果以图形的形式展现出来。毕竟图形在直观可视化上占据着最顶端的位置,一堆字母和数字所带来的信息绝不如一张图来的直观。
在临床研究中,多因素分析扮演着很重要的角色,而Logistic回归以及Cox回归又属于其中的最主要的两种。多因素分析可以实现预测作用,把危险因素筛选了出来,并通过统计分析给每个因素套上了具体的β值、效应值,那就可以根据具体公式对病人的结局进行预测了。
而这个预测作用的最佳可视化体现就是列线图,现在一些高水平杂志能够经常见到列线图。多因素分析筛选出危险因素后,以列线图的形式把分析结果展示出来,给每个因素及最终的危险性赋予分值。根据图形,结合患者的自身情况,可以计算患者出现结局的危险性,或者说计算每个患者的结局时间发生的概率。
列线图最方便的实现方法莫过于简单又聪明的R软件了,借助rms包,我们可以很轻易的实现logistic回归以及cox回归的列线图操作,本节以这两种常用的分析方法为例,展示列线图的具体实现过程。
有例子后面好说话,先介绍一下实例:今有肺癌患者N人,欲研究某种治疗方法(treat)对肿瘤的疗效及影响预后的因素。
其中,示例中字幕的含义:以NO表示序号;Y表示病人的结局,本实例中为了展示方便在logistic回归中0和1分别表示无效和有效,在cox回归分析中0和1分别代表有截尾(删失)和死亡;time是截尾时间或病人死亡时间,以月表示;volume是肺癌患者的初始肿瘤体积;gender代表性别,1男2女;tumor代表肿瘤类型,1和0分别表示鳞癌、腺癌;smoke代表抽烟与否(1与0);stage代表病人的肿瘤分期(1-5);treat表示接受的治疗方法,比如1代表外放疗,2代表内放疗;chemo表示是否合并化疗治疗(1与0)。
说完了实例,接下来我想知道的是,影响肿瘤患者结局疗效的因素有哪些,根据结局Y有效无效二类,采用二分类logistic回归模型进行分析。这个很简单,但是我们需要展示的是列线图的操作,接下来以logistic为例展示logistic的列线图R软件实现。
首先,按照R一贯的操作,当然是要加载包,如果是第一次用rms包,需要先安装包,代码如下:
install.package(“rms”)
软件会自动下载安装,如下所示
接下来我们加载包:
library(rms)
这时候rms会把它需要的数据包,包括Hmisc,lattice,survival,Formula,ggplot2,SparseM等,如果这些包没有安装的话,需要手动安装一下。
至此,可以进行后续的数据分析了,小编习惯用Excel编辑整理数据,偶尔一些简单的操作也会用到SPSS,所以数据文件个人习惯保存为逗号分隔符文件(.csv),所以在R中导入数据的时候习惯用代码直接导入csv文件:
mydata <->
数据导入完成后下一步需要“打包”数据,这是一部必要操作,至于原因有兴趣的朋友可以查看包的帮助文件,数据的基本情况通过代码展示出来。
ddist <->
options(datadist = 'ddist')
ddist
接下来进行logistic回归及列线图绘制,为了演示效果,将所有变量纳入展示,主要包括三部分代码,logistic回归→绘制列线图→出图
→Logistic回归:
modle1 <- lrm="" (y~="" volume="" +="" gender="" +="" tumor="" +="" smoke="">
+ stage + treat + chemo, mydata)
lrm函数做logistic回归,后面的公式通过“~”连接,数据集为mydata
→绘制列线图
nom1 <- nomogram="" (modle1,="" fun="function(x)">
funlabel = 'Risk of Death',
fun.at = c (0.05, seq (0,1, by=0.1),0.95))
nomogram函数,函数模型是上面logistic的模型model1,function进行函数转化,logit变换反函数,为风险概率;funlabel则是最后出图的坐标名称,fun.at给新的坐标轴设置范围。
→出图
plot (nom1, label.every = 2,
col.grid = gray(c(0.90,0.95)))
plot函数出图,label.every = 2每隔2个刻度显示坐标,col.grid = gray (c(0.85,0.91)) 是调整主要及次要垂直线颜色及透明度。
至此,得出图形即是我们要的主要结果,列线图制作完成。
上述列线图的制作只用到最精简的少量代码,主要目的仅在展示列线图的R实现,每条函数下面还有很多用于调整图像的代码,可以让图形看起来更人性化更饱满充实,读者可以自行学习rms包及每条函数的帮助文件。
本节只介绍了Logistic回归列线图的软件实现,二分类logistic分析相对简单,理解起来也更容易。Cox回归的结局同时需要照顾到时间和生存结局两个变量,相对需要更多的操作及理解。下节着重Cox回归列线图的实现以及列线图结果的解读。
联系客服