你们要的改良版静态列线图,来了!

最近,有多位站友前来咨询我在R绘制别样的列线图(Nomogram):基于DynNom一文中提到过的带垂直线的列线图,今天就来给大家简单介绍一下这个改良版静态列线图的绘制。
这里以Cox比例风险模型的列线图为例:
## 加载程序包
library(survival)
library(rms)
## 载入数据
dat<-read.csv("data.csv",sep = ',')
## 建立多因素Cox回归模型
mod<-coxph(Surv(time,status)~ Agecat + IPSSR + TP53 + SF3B1+ IDH1, data=dat)
summary(mod)

## 绘制普通列线图
ddist <- datadist(dat)
options(datadist='ddist')
units(dat$time) <- "Month"
fcox <- cph(Surv(time,status) ~ Agecat + IPSSR + TP53 + SF3B1 + IDH1,
surv=T,x=T, y=T,data=dat)
surv <- Survival(fcox)
nom <- nomogram(fcox, fun=list(function(x) surv(12, x),
function(x) surv(36, x),
function(x) surv(60, x)),
funlabel=c("1-years Survival Probability",
"3-years Survival Probability",
"5-years Survival Probability"),lp=F)
## 输出常规静态列线图(tiff格式,300dpi,压缩格式为lzw)
tiff("Nom1.tiff",width = 3000, height = 2600,res = 300,compression = "lzw")
plot(nom)
dev.off()

###### 列线图加垂直线 ######
tiff("Nom2.tiff",width = 3000, height = 2600,res = 300,compression = "lzw")
plot(nom,col.grid=c("red","blue"))
dev.off()

说白了,整个过程都是相似和简单的,最重要的就是在绘制图片时,在plot函数内加一句 col.grid=c("red","blue"),颜色随大家的喜好和心情。完工,还是那句话:尊重数据,助力科研,我一直在路上!
最后编辑于 2021-01-14 · 浏览 1899