vlambda博客
学习文章列表

R语言系列4:基于Cox回归的临床预测模型构建


上一篇文章,我们讲到。今天主要围绕基于Cox回归的预测模型进行讲解及示范操作。


1

生存预测模型应用场景

涉及到时间问题的预测场景

主要以肿瘤患者生存时间为主

其次,对于非肿瘤患者,如果涉及时间因素,比如

预测冠脉支架植入后,再发狭窄的时间

预测ICU脓毒症患者是否好转及住院天数

预测非小细胞肺癌患者是否发生脑转移及从确诊至转移时间


2

直接上数据,上代码

有关模型构建之前,变量筛选,这里不再重复。可以使用SPSS或者易侕软件,筛选预测变量,即独立预测因子

仍然推荐使用易侕软件,操作省时省力,

计划近期推出:易侕软件进行logistic回归 和 COX回归,软件操作,欢迎关注


输入文件:dev.csv

dev<-read.csv("dev.csv") head(dev)
library(rms)library(foreign)library(survival)
#将time变为num数字形式dev$time<-as.numeric(dev$time)#将其余变量转为factor并进行标注dev$age<-factor(dev$age,labels=c('<50','50-59','60-69','70-79', '>=80'))dev$sex<-factor(dev$sex,labels=c('Male','Female'))dev$race<-factor(dev$race,labels=c('White','Black','Other'))dev$marry<-factor(dev$marry,labels=c('Married','Unmarried','Divorced or Seperated','Widowed'))dev$site<-factor(dev$site,labels=c('cecum','ascending colon','hepatic','transverse', 'splenic', 'descending', 'sigmoid'))dev$size<-factor(dev$size,labels=c('<3','<4','<5', '<6', '<7', '<8', '>=8'))dev$grade<-factor(dev$grade,labels=c('I','II','III', 'IV'))
#打包数据ddist <- datadist(dev)options(datadist='ddist')
#time单位是:月units(dev$time) <- "Month"
fcox <- cph(Surv(dev$time,dev$os==1) ~ age + race+ size+marry+grade,surv=T,x=T, y=T,data=dev)#画图surv <- Survival(fcox) nom <- nomogram(fcox, fun=list(function(x) surv(36, x), function(x) surv(60, x)), funlabel=c("3-years Survival Probability", "5-years Survival Probability"),lp=F)plot(nom)



有关模型验证,在后续课程会陆续讲解


后台回复 R04,获取演示数据及配套代码,交流为主~