R语言使用ggDCA包制作COX回归模型临床决策曲线

我们既往已经在文章《手把手教你使用R语言制作临床决策曲线》介绍了怎么使用rmda包制作了临床决策曲线,但是rmda包只能制作logistic回归模型的临床决策曲线,原来制作COX回归模型的stdca包R上下载不到。有粉丝留言向我推荐了ggDCA包,今天来演示一下怎么使用ggDCA包制作COX回归模型临床决策曲线。
ggDCA包由我们R语言大神,南方医科大学的博导Y叔制作,使用ggDCA包可以制作logistic回归模型和COX回归模型临床决策曲线,作图很简单,其中也让我体会到了制图的原理,目前ggDCA还在继续完善中。
在这里插入图片描述
下面我们来演示一下,还是既往乳腺癌的数据。
先导入包和数据

library(ggDCA)
library(rms)
library(foreign)
bc <- read.spss("E:/r/test/Breast cancer survival agec.sav",
                use.value.labels=F, to.data.frame=T)

在这里插入图片描述
我们先来看看数据:
age表示年龄,pathsize表示病理肿瘤大小(厘米),lnpos表示腋窝淋巴结阳性,histgrad表示病理组织学等级,er表示雌激素受体状态,pr表示孕激素受体状态,status结局事件是否死亡,pathscat表示病理肿瘤大小类别(分组变量),ln_yesno表示是否有淋巴结肿大,time是生存时间,后面的agec是我们自己设定的,不用管它。
在这里插入图片描述
先把部分用到的分类变量转换一下并删除缺失值

bc$histgrad<-as.factor(bc$histgrad)
bc$er<-as.factor(bc$er)
bc$pr<-as.factor(bc$pr)
bc$ln_yesno<-as.factor(bc$ln_yesno)
names(bc)
bc <- na.omit(bc)

数据集分为训练集和验证集

set.seed(1)
index <- sample(2,nrow(bc),replace = TRUE,prob=c(0.7,0.3))
traindata <- bc[index==1,]
testdata <- bc[index==2,]

然后使用训练集构建3个预测模型(随便建的)

#####生成3个模型
f1<-cph(Surv(time,status)~age,traindata)
f2<-cph(Surv(time,status)~er+histgrad+pr,traindata)
f3<-cph(Surv(time,status)~er+histgrad+pr+age+ln_yesno,traindata)

在这里插入图片描述
开始绘制图形,不设时间的话默认中位数时间

d_train <- dca(f1)
ggplot(d_train)###不设时间的话默认中位数时间

在这里插入图片描述
单个模型的3年生存率

d_train <- dca(f1,
               times=36)
ggplot(d_train)

在这里插入图片描述
多个模型的5年生存率

d_train <- dca(f1,f2,f3,
               times=60)####多个模型5年后生存率
ggplot(d_train)

在这里插入图片描述
多个模型的3年和5年生存率

d_train <- dca(f1,f2,f3,
               times=c(36,60))####多个模型3年和5年后生存率
ggplot(d_train)

在这里插入图片描述
在验证集上多个模型的5年生存率

d_train <- dca(f1,f2,f3,
               times=60,
               new.data=testdata)

在这里插入图片描述
我对这种虚线有强迫症,感觉改为实线美观一点

d_train <- dca(f1,f2,f3,
               times=60)####多个模型5年后生存率
ggplot(d_train,linetype=1)

在这里插入图片描述
logistic回归模型的做法和这个几乎一样,只是模型构建不同,制作非常简单。

更多精彩文章请关注公众号:零基础说科研
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/dege857/article/details/115061901