打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
学会这个图,轻松预测临床病人的结局(上)

列线图,英文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会把它需要的数据包,包括HmisclatticesurvivalFormulaggplot2SparseM等,如果这些包没有安装的话,需要手动安装一下。

至此,可以进行后续的数据分析了,小编习惯用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回归列线图的实现以及列线图结果的解读。


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Nomogram图不会画?看了这篇,小白也能轻松看懂搞定
限制性立方样条(RCS)的列线图怎么画?
临床预测模型全套工具来了,自动产生列线图、ROC、DCA!包括logistic和Cox回归
R学习笔记 01 -- Cox回归中C-index的两种常用计算方法
你分得清么?线性回归、logistic回归、COX回归!
教你用R画列线图,形象展示预测模型的结果
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服