手把手教你使用R语言建立COX回归并画出列线图(Nomogram)

列线图,又称诺莫图(Nomogram),它是建立在回归分析的基础上,使用多个临床指标或者生物属性,然后采用带有分数高低的线段,从而达到设置的目的:基于多个变量的值预测一定的临床结局或者某类事件发生的概率。列线图(Nomogram)可以用于多指标联合诊断或预测疾病发病或进展。
近些年来在高质量SCI临床论文中用的越来越多。列线图将回归模型转换成了可以直观的视图,让结果更容易判断,具有可读性,例如:
手把手教你使用R语言建立COX回归并画出列线图(Nomogram)_第1张图片
今天我们使用手把手操作教大家在COX回归的基础上做出这样的列线图,首先要进行R语言3.6以上版本的安装及RStudio的安装,安装过程就不详细说了,我们使用R语言自带survival包的cancer数据库为例.
首先打开RStudio
手把手教你使用R语言建立COX回归并画出列线图(Nomogram)_第2张图片
然后加载数据包,数据包都要先下好
library(survival)
library(rms)
手把手教你使用R语言建立COX回归并画出列线图(Nomogram)_第3张图片
然后进行导入数据
data(package=“survival”)
bc<-cancer
dc<-datadist(bc)
options(datadist=“dc”)
手把手教你使用R语言建立COX回归并画出列线图(Nomogram)_第4张图片
建立COX回归方程
f <- cph(Surv(time, status) ~ age + sex + ph.ecog + pat.karno +wt.loss,
x=T, y=T, surv=T, data=cancer, time.inc=36)
手把手教你使用R语言建立COX回归并画出列线图(Nomogram)_第5张图片
对COX回归方程进行解析
summary(f)
手把手教你使用R语言建立COX回归并画出列线图(Nomogram)_第6张图片
绘制列线图
surv <- Survival(f)
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)
手把手教你使用R语言建立COX回归并画出列线图(Nomogram)_第7张图片
内部验证
validate(f, method=“boot”, B=1000, dxy=T)
rcorrcens(Surv(time, status) ~ predict(f), data = dc)

手把手教你使用R语言建立COX回归并画出列线图(Nomogram)_第8张图片
1-0.344=0.656,即为C-index
一致性检验
f3 <- cph(Surv(time, status) ~ age + sex + ph.ecog + pat.karno +wt.loss, x=T, y=T, surv=T,
data=bc, time.inc=36)
cal3 <- calibrate(f3, cmethod=“KM”, method=“boot”, u=36, m=220, B=1000)
plot(cal3)
f5 <- cph(Surv(time, status) ~age + sex + ph.ecog + pat.karno +wt.loss, x=T, y=T, surv=T,
data=bc, time.inc=60)
cal5 <- calibrate(f5, cmethod=“KM”, method=“boot”, u=60, m=220, B=1000)
plot(cal5)
f10 <- cph(Surv(time, status) ~ age + sex + ph.ecog + pat.karno +wt.loss, x=T, y=T, surv=T,
data=bc, time.inc=120)
cal10 <- calibrate(f10, cmethod=“KM”, method=“boot”, u=120, m=220, B=1000)
plot(cal10)
手把手教你使用R语言建立COX回归并画出列线图(Nomogram)_第9张图片
手把手教你使用R语言建立COX回归并画出列线图(Nomogram)_第10张图片
手把手教你使用R语言建立COX回归并画出列线图(Nomogram)_第11张图片
手把手教你使用R语言建立COX回归并画出列线图(Nomogram)_第12张图片
根据要求一步一步验证是完全可以做出来的,还有外部验证就不详细说了,有兴趣的可以关注我的科研教程。
动动小手关注一下吧,更多精彩文章尽在零基础说科研
手把手教你使用R语言建立COX回归并画出列线图(Nomogram)_第13张图片

你可能感兴趣的:(R语言,数据库)