之前给大家写过好几篇很详细的临床预测模型的原理解析,本文接着之前的文章,继续写做法,首先依然是找到一篇参照论文,今天我们的示例文章是一篇来自美国心脏学会杂志的文章:
原文给大家贴在上面,我们要做的就是对文章统计部分进行复现。 原文回顾整篇文章就是开发了一个用于预测癌症患者的3个月死亡率风险诺模图,考虑了什么变量,用的是什么人群队列,本文不关心,感兴趣的同学自行去阅读原文哈,本文着重写宏观做法,作者具体使用的模型是Step-wise logistic regression,文章中有报告各个变量的OR和整体模型的concordance index,重点的结果一个是诺莫图: 还有就是对整体模型,作者还展示了模型的校准曲线和决策曲线(意义详解见R数据分析:临床预测模型中校准曲线和DCA曲线的意义与做法) 文章中的校准曲线长这样: 和决策曲线长这样: 因为回归的or之前写过,今天就写如何几个图的做法。 实例操练我现在有数据如下: 我想以Y为因变量,做一个预测模型,同时展示诺莫图和校准曲线以及决策曲线,ROC之前发文章有详细的写过,本文直接略过哈。 首先,我需要先训练我的模型,此时是个logistics模型,得用lrm函数进行拟合:
模型拟合好形成refit对象,直接接上calibrate函数,再plot下就可以:
运行上面的代码后直接获得下图,基本不用改动,和发表的文献结构一模一样: 上面就是校准曲线的做法,我们接着看诺莫图的和诺莫图的决策曲线的做法,关于诺莫图的做法,我记得之前写过一个非常详细的教程文献解析:生存数据和分类结局列线图的做法,史上最全,大家可以回去瞅瞅,这儿在我们现在的例子中,只需要将刚刚拟合的refit对象运行下面的代码即可出图:
接下来继续做该诺莫图的决策曲线,决策曲线需要用到dca函数,其基本用法如下: 如果我们做Univariate Decision Curve Analysis,直接写好公式放在第一个参数就行,不过具体到我们的例子我们是在做Univariate Decision Curve Analysis,这个时候我们需要将多变量模型的预测值放在公式的右边:
对于我们的模型来讲,我需要用predict函数得到模型的预测值,然后使用dca函数并结合plot进行DCA曲线的绘制,具体代码如下:
运行后并稍加调整即可得到下图,当然下图还可以根据需求继续修改,但是基本上已经差不多,似乎比原文要更好看点啦,嘿嘿。 小结 |
|
来自: CodewarCodewar > 《待分类》