5种诺莫图(列线图)教程:基于Cox比例风险模型
在R教程:教你绘制5种类型的诺莫图(列线图)一文中,我们给大家介绍了5种类型的诺莫图(线段式静态诺莫图、彩色条带式诺莫图、线段式动态诺莫图、基于DyNnom的动态诺莫图和基于shinyPredict的动态诺莫图),并以logistic模型为例对绘制过程进行了演示。书接上文,今天给大家演示这5种诺莫图在Cox比例风险模型中的实现。
数据介绍
本次演示所用的数据同样来源于SEER数据库,为2005年-2015年某种肿瘤患者的生存数据。研究目的是构建预测某肿瘤患者死亡风险的诺莫图,所涉及的变量有年龄(Age)、组织学类型(Hist_type)、分级(Grade)、肿瘤数目(Tumor_number)、淋巴结阳性(LNP)、生存时间(Time)和生存状态(Status)。
经过纳入排除,最终用于分析的观测行有6279行。本次建模方案仍采用TRIPOD提及的Type2a:按照7:3的比例,将原数据集随机划分训练集和验证集;通过训练集构建模型,在验证集上对模型进行验证和评价;对模型进行可视化(构建诺莫图)。训练集、验证集的数据概况如下:
建立预测模型
经过前期的变量筛选,最终我们将年龄、分级、肿瘤数目和淋巴结阳性等变量纳入到了模型中,所得模型的概况如下:
#1.构建预测模型(基于筛选后的变量)
suppressMessages(library(rms))
Cox_mult1
data=train_data)
#输出模型信息
print(Cox_mult1)
绘制诺莫图
对于logistic模型,其仅考虑了结局是否发生(二分类变量),而未考虑结局发生的时间;对于Cox比例风险模型,因变量为事件-时间(time-to-event)形式,可以分析结局是否发生及何时发生与预测因子之间的关系,因此可以用来预测一定时间范围内,所有特定时间内(可人为设定,如6个月、1年、3年等),结局的发生概率。
因此,与基于logistic模型的诺图不同的是,基于Cox比例风险模型的诺莫图可以同时显示多个时间段内患者结局发生概率,而且在基于DynNom的诺莫图中还可以拖动选择生存时间。接下来,我们正式开始绘制基于Cox比例风险模型的5种诺莫图。
1.线段式静态诺莫图
这里我们通过线段式静态诺莫图展示肿瘤患者3、5、8年内的死亡风险。
#1.打包数据
dd
options(datadist='dd')
#2.建立模型
Cox_nomo1
data=train_data,x=T,y=T,surv=T)
#3.生成3/5/8年的死亡概率
surv
surv1
surv2
surv3
#4.绘制nomogram
nomo_2a
funlabel=c("3-yearDeath","5-yearDeath","8-yearDeath"),
fun.at=c(0.05,seq(0.1,0.9,by=0.1),0.95))
plot(nomo_2a,col.grid=c("pink","cyan"),
xfrac=0.3,#设置变量名与线段的横向占比
cex.var=1,#加粗变量字体
cex.axis=1,#设置数据轴字体的代销
lmgp=0.3)#设置文字与数据轴刻度的距离
Figure1.线段式静态诺莫图