Cox构建预测模型(5):如何用R语言绘制校准曲线(附全套代码)

临床预测模型作为临床研究的“高阶玩法”,不仅仅是改变临床实践的重要途径,更是发表高分SCI文章的热门选择。但不论零基础的小白,还是已经了解过临床预测模型的同学,刚开始都会一头雾水。简单概括,Cox回归预测模型的基础统计策略大致可以概括为“一表四图”,即均衡性表、列线图、校准图、ROC图、DCA图。

前面已经为大家介绍了均衡性表、列线图的绘制。从今天开始将为大家介绍预测模型验证三件套之校准图的绘制。这里继续为大家复现seer公共数据库的文章,包括R语言代码以及更加便利快捷的风暴统计平台复现的操作流程!

主要内容包括:

一、文献解读

二、利用R语言复现

三、利用在线网站复现

  四、小结 

一、文献解读

案例文献是沈阳医学院公共卫生学院学者基于SEER数据库的一项回顾性研究,旨在建立一个列线图来预测老年恶性骨肿瘤(MBT)患者的总生存期(OS)。

f2f8e816df4a3620d2ab6b89e628bdbf.png

1. 摘要

背景:恶性骨肿瘤(MBT)是老年患者死亡的原因之一。我们研究的目的是建立一个列线图来预测老年MBT患者的总生存期(OS)。

方法:从SEER数据库下载了2004年至2018年所有老年MBT患者的临床病理数据。他们被随机分配到训练集(70%)和验证集(30%)。采用单因素和多因素Cox回归分析确定老年MBT患者的独立危险因素。基于这些危险因素构建列线图,以预测老年MBT患者的1年,3年和5年OS。然后,利用一致性指数(C指数)、校准曲线和受试者工作曲线下面积(AUC)来评价预测模型的准确性和判别力。决策曲线分析(DCA)用于评估列线图的临床潜在应用价值。根据列线图上的分数,将患者分为高风险组和低风险组。Kaplan-Meier(K-M)曲线用于测试两名患者之间的生存差异。

结果:从SEER数据库下载了2004年至2018年所有老年MBT患者的临床病理数据。他们被随机分配到训练集(70%)和验证集(30%)。采用单因素和多因素Cox回归分析确定老年MBT患者的独立危险因素。基于这些危险因素构建列线图,以预测老年MBT患者的1年,3年和5年OS。然后,利用一致性指数(C指数)、校准曲线和受试者工作曲线下面积(AUC)来评价预测模型的准确性和判别力。决策曲线分析(DCA)用于评估列线图的临床潜在应用价值。根据列线图上的分数,将患者分为高风险组和低风险组。Kaplan-Meier(K-M)曲线用于测试两名患者之间的生存差异。

结论:我们建立了一个新的列线图来预测老年MBT患者的1年,3年,5年的OS。该预测模型可以帮助医生和患者制定治疗计划和后续策略。、

2. 数据介绍

文献共纳入1641名2004-2018诊断的老年MBT患者的临床病理数据。暴露因素包括年龄、种族、性别、诊断年份、组织学类型、分级、分期、原发位置、TNM分期、肿瘤大小、是否化疗、是否放疗及手术方式。

f62eaa923399bc34bf66e8ca6fe7345c.png

3.研究结果

这篇文献构建Cox回归预测模型的统计思路十分清晰。首先按照7:3将数据集进行拆分获得训练集与验证集,然后做均衡性检验,比较训练集和验证集的差异性,再做单因素和多因素Cox回归,筛选变量构建列线图预测模型,然后通过校准图对模型的校准度进行检验,校准图如下,A-C是训练集1年、3年、5年患者的总生存期校准图,D-F是验证集1年、3年、5年患者的总生存期校准图。曲线与对角线重合度越高,说明模型的校准度越好。

19a0eccb82dff0bc9a74c54ee4cc574c.png

二、利用R语言复现

下面我们利用从SEERStat中提取的相关数据进行复现。根据文献中的纳入排除标准,提取涉及的相关数据,最终共纳入1,574名患者(原文献1,641)。介于SEERStat数据库会有更新,因此提取的样本量与原文会有所出入,这里请大家多关注统计方法的运用!本次用到的是R版本是4.3.1。

1. 安装加载R包

绘制列线图我们主要用到以下两个R包。

if(!require("rms")) install.packages("rms")
library("rms")

2.完成前期准备工作

在绘制校准图之前,必须要完成数据的导入、拆分数据集的工作、预测因子的筛选,校准图的绘制是分别在训练集与验证集独立进行的。

以上这些内容可参见:

Cox构建预测模型(2):如何用R语言拆分数据集并作均衡性检验

Cox构建预测模型(3):如何用R语言做cox先单后多回归分析!(附全套代码)

Cox构建预测模型(4):如何用R语言绘制cox预测模型列线图?(附全套代码)            

3. 绘制校准图

篇幅有限,这里仅为大家展示训练集1年的校准图绘制代码。3年、5年的校准图绘制仅需修改时间设置(time.inc= / u=  ),1年为12,3年为12*3,5年为12*5。

#train-1年校准图
cox_train1 <- cph(Surv(months,status)~age + Race + Sex + Histologic.type
                + Grade + Stage + Primary.Site + m_stage +Tumor_size + Surgery,
                  data=train,surv=T,x=T, y=T,time.inc = 12)
cal_train1<-calibrate(cox_train1,u=12,cmethod='KM',m=200,B=1000)


#绘制train-1年校准图
plot(cal_train1,lwd=1,lty=2, #线条粗细与虚实
     errbar.col=c(rgb(0,118,192,maxColorValue = 255)),#颜色设置
     xlab='Nomogram-Predicted Probability of 1-year',#x轴名称
     ylab='1-year survival probability',#y轴名称
     col=c(rgb(192,98,83,maxColorValue = 255)),
     xlim = c(0,1),ylim = c(0,1))#x轴范围与y轴范围

代码解读:“u”与“time_inc”对应保持一致,根据研究数据可以是12、24也可以是365、730;m要根据样本量来确定,如预计将所有样本分为n组(在图中显示n个点),而m代表每组的样本量数,因此m*n应该等于或近似等于样本量;“B=1000”表示进行了1000次重采样计算。plot函数中主要通过细节调整使图形更加丰满美观。

R语言复现得到的校准图如下:

9ca07c058617766496acfc1e38939f5d.png

三、利用在线网站复现

如果没有代码基础,或者希望通过更便捷的方式完成统计分析,推荐使用这个智能在线统计分析平台——风暴统计。一键成三线表,便捷又快速。

网址:www.medsta.cn(电脑端浏览器打开)

或medsta.cn(medical statistics缩写) 

1.进入网站分析模块

电脑端打开风暴统计平台——“风暴智能统计”模块,点击“临床预测模型(最新)”,进入“cox预测模型”页面。

2e0c0131a01bf05c97b09509f58a4ee8.png

2.完成前期的准备工作

利用风暴统计平台进行校准图的绘制之前,也需要完成数据导入拆分数据集的工作哦!

Cox构建预测模型(2):如何用R语言拆分数据集并作均衡性检验

3.绘制校准图

完成前期准备工作之后,进入“Cox预测模型”模块,根据提示选入回归因变量与回归自变量。最最重要的是多因素回归设置,也就是你所期望的自变量筛选方式,可以是先单后多,也可以是逐步回归法,阈值也可以进行调节,十分灵活。

d37db83aa22468dc832889a725a032ab.png

选中之后,下方就直接给出校准图结果,包括训练集与验证集三个不同时间点的6张图,省去R语言诸多代码的烦恼。另外,通过左侧可以设置重采样次数,通常为500或1000,以及校准图的节点数。最后可以下载校准图的PDF版或PNG版。

280dada383f4fa36c1b2dc97fe94623a.png

四、小结

通过对比R语言制作的校准图与风暴统计软件制作的校准图,两者相同,并且风暴统计省去了相同代码修改运行6次的烦恼,直接一步到位,一次性生成6张校准图,十分快捷便利,在实际运用中,你也不妨花上几分钟,在风暴统计平台试一试!

623a79e4ceb780dc3106ba3240d7a674.png

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值