R语言对列线图评分进行危险分层

列线图,又称诺莫图(Nomogram),它是建立在回归分析的基础上,使用多个临床指标或者生物属性,然后采用带有分数高低的线段,从而达到设置的目的:基于多个变量的值预测一定的临床结局或者某类事件发生的概率。列线图(Nomogram)可以用于多指标联合诊断或预测疾病发病或进展。

近些年来在高质量SCI临床论文中用的越来越多。列线图将回归模型转换成了可以直观的视图,让结果更容易判断,具有可读性。

关于列线图的文章公众号已经介绍非常多了,粉丝私信问,如何进行风险分层,今天来演示一下,继续使用咱们的乳腺癌数据,(公众号回复:乳腺癌,可以获得该数据),

r 复制代码
library(foreign)
library(rms)
bc <- read.spss("E:/r/Breast cancer survival agec.sav",
                use.value.labels=F, to.data.frame=T)
bc<-na.omit(bc)

age表示年龄,pathsize表示病理肿瘤大小(厘米),lnpos表示腋窝淋巴结阳性,histgrad表示病理组织学等级,er表示雌激素受体状态,pr表示孕激素受体状态,status结局事件是否死亡,pathscat表示病理肿瘤大小类别(分组变量),ln_yesno表示是否有淋巴结肿大,time是生存时间,后面的agec是我们自己设定的,不用管它。

对数据格式进行整理,这里多提一句,数据尽量不要又缺失值,不然容易有各种各样的报错。

r 复制代码
dd<-datadist(bc)
options(datadist="dd")

建立模型,surv=T,这一句一定要有,不然后面没法做

r 复制代码
f<-cph(Surv(time,status)~er+histgrad+pr+age+ln_yesno,x=T, y=T, surv=T,bc)

生成一个可以生成预测概率的函数

r 复制代码
surv <- Survival(f)

生成列线图并绘图

r 复制代码
nom <- nomogram(f, fun=list(function(x) surv(36, x), function(x) surv(60, x), 
                            function(x) surv(120, x)), lp=F, funlabel=c("3-year survival", "5-year survival", "10-year survival"),
                maxscale=10, fun.at=c(0.95, 0.9, 0.85, 0.8, 0.75, 0.7, 0.6, 0.5))
plot(nom)

所谓分线分层其实就是对总评分(total points)这个指标的分数进行分段,咱们要先把这个指标提取出来,需要使用到nomogramFormula包,咱们先把这个包导入

r 复制代码
library(nomogramFormula)
options(datadist="dd")
results <- formula_rd(nomogram = nom)

这样结果就提取出来了,咱们使用points_cal函数进一步把分数提取出来

r 复制代码
points<-points_cal(formula = results$formula,rd=bc)

得到数据后怎么分层就看你的临床意义了,这里我直接平均分3段

r 复制代码
table(cut2(points, g=3))

这样结果就出来啦,0.714,-7.8分是低风险,7.797-11.1分是中风险,11.100-19.6分是高风险。

下面这种列线图我还暂时不会,需要专门写个包才行,以后有空在研究一下

相关推荐
生物信息与育种14 小时前
全基因组重测序及群体遗传与进化分析技术服务指南
人工智能·深度学习·算法·数据分析·r语言
l1t14 小时前
在aarch64机器上安装使用R语言的季节调整包
开发语言·r语言
知识分享小能手16 小时前
R语言入门学习教程,从入门到精通,R语言分布式数据可视化(6)
学习·信息可视化·r语言
知识分享小能手2 天前
R语言入门学习教程,从入门到精通,R语言数值关系数据可视化 - 完整知识点(5)
学习·信息可视化·r语言
生信碱移2 天前
PACells:这个方法可以鉴定疾病/预后相关的重要细胞亚群,作者提供的代码流程可以学习起来了,甚至兼容转录组与 ATAC 两种数据类型!
人工智能·学习·算法·机器学习·数据挖掘·数据分析·r语言
知识分享小能手2 天前
R语言入门学习教程,从入门到精通,R语言类别比较数据可视化- 完整知识点与案例代码(4)
学习·信息可视化·r语言
星座5282 天前
掌握双碳核心工具,从产品碳足迹到气候变化响应:基于OpenLCA、GREET、R语言的生命周期评价方法、模型构建及典型案例应用
r语言·生命周期·openlca·greet
知识分享小能手4 天前
R语言入门学习教程,从入门到精通,R语言网格绘图系统(ggplot2)- 完整知识点与案例代码(3)
开发语言·学习·r语言
做cv的小昊4 天前
【TJU】研究生应用统计学课程笔记(5)——第二章 参数估计(2.3 C-R不等式)
c语言·笔记·线性代数·机器学习·数学建模·r语言·概率论
hhb_6185 天前
R语言数据分析与可视化实战指南
开发语言·数据分析·r语言