# regplot绘制高级nomogram

## 安装补充包

- conda activate ggsurvplot
- install.packages(‘regplot’)

## 高级nomogram

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12

    library(rms)
    library("survival")
    library("survminer")
    library(regplot)
    mycol<-c("#A6CEE3","#1F78B4","#33adff","#2166AC")
    names(mycol) = c("dencol","boxcocl","obscol","spkcol")
    mycol<- as.list(mycol)
    dd=datadist(df)
    options(datadist="dd")
    coxmf <- paste0("Surv(time, status==1)~", paste(colnames(df)[1:8], collapse = '+'))
    coxmf
    f1 <- cph(formula(coxmf), data=df, x=T, y=T, surv = T) # 构建COX比例风险模型

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16

    options(repr.plot.width=12, repr.plot.height=12)
    {pdf("nomogram_new.pdf");{
    print(dev.list())
      dev.set(2)
      regplot(f1,
    #         observation=df[1,], #也可以不展示
            failtime = 12*c(1,3,5), #预测1年、3年和5年的死亡风险
            prfail = TRUE, #cox回归中需要TRUE
            showP = T, #是否展示统计学差异
            droplines = F,#观测2示例计分是否画线
            colors = mycol, #用前面自己定义的颜色
            interval="confidence", #展示观测的可信区间
            clickable=F)
    print(dev.list())
    graphics.off()
    }}

博主PS：这个regplot的绘图输出好奇怪，不知道为啥这样写可以被pdf捕获

## 重抽样校正曲线

    1
    2
    3
    4
    5
    6

    set.seed(0)
    cal_0 <- calibrate(f1, u=1*12, cmethod='KM', method='boot',  m=98, B=1000)
    set.seed(0)
    cal_1 <- calibrate(f1, u=3*12, cmethod='KM', method='boot',  m=98, B=1000)
    set.seed(0)
    cal_2 <- calibrate(f1, u=5*12, cmethod='KM', method='boot',  m=98, B=1000)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21

    pdf(file = 'calibrate.pdf', width = 6, height = 6);{plot(cal_0,lwd=2,lty=1,  ##设置线条宽度和线条类型
         errbar.col='#0072B5AA', ##设置一个颜色
         xlab='Nomogram-Predicted Probability of DFS',#便签
         ylab='Actual DFS(proportion)',#标签
         col='#BC3C29AA',#设置一个颜色
         xlim = c(0.1,1),ylim = c(0.1,1),##x轴和y轴范围
         mgp = c(2, 1, 0))
    plot(cal_1,lwd=2,lty=1,  ##设置线条宽度和线条类型
         errbar.col='#20854EAA', ##设置一个颜色
         col='#E18727AA',#设置一个颜色
         add = T,
         xlim = c(0.1,1),ylim = c(0.1,1),##x轴和y轴范围
         mgp = c(2, 1, 0)) #控制坐标轴的位置
    plot(cal_2,lwd=2,lty=1,  ##设置线条宽度和线条类型
         errbar.col='#6F99ADAA', ##设置一个颜色
         col='#EE4C97AA',#设置一个颜色
         add = T,
         xlim = c(0.1,1),ylim = c(0.1,1),##x轴和y轴范围
         mgp = c(2, 1, 0))
    legend("bottomleft",c('1-year', '3-year', '5-year'),
           col=c("#BC3C29AA","#E18727AA","#EE4C97AA"),lty=1,lwd=2)};dev.off()

## 导出nomogram的风险预测值

    1
    2

    df$Risk_Score <- predict(f1,type="lp",newdata=df)
    df

绘图
regplot绘制高级nomogram
https://occdn.limour.top/2223.html
Author
Limour
Posted on
August 11, 2022
Licensed under
COX模型可视化：风险得分关联图 Previous
使用替换系数法使coxnet-lasso兼容coxph的分析 Next

#### Search

Keyword