R语言系列4:基于Cox回归的临床预测模型构建
上一篇文章,我们讲到。今天主要围绕基于Cox回归的预测模型进行讲解及示范操作。
生存预测模型应用场景
涉及到时间问题的预测场景
主要以肿瘤患者生存时间为主
其次,对于非肿瘤患者,如果涉及时间因素,比如
预测冠脉支架植入后,再发狭窄的时间
预测ICU脓毒症患者是否好转及住院天数
预测非小细胞肺癌患者是否发生脑转移及从确诊至转移时间
直接上数据,上代码
有关模型构建之前,变量筛选,这里不再重复。可以使用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,获取演示数据及配套代码,交流为主~