本文首发于“生信补给站”公众号 https://mp.weixin.qq.com/s/2W1W-8JKTM4S4nml3VF51w
Meta分析的结果使用森林图进行可视化展示很常见,其实COX生存分析也能用森林图展示。
之前分享过绘制KM曲线R|生存分析(1),诺莫图展示COX结果Nomogram(诺莫图) | Logistic、Cox生存分析结果可视化,本文将简单的介绍如何使用R-survminer包绘制Cox生存分析结果的森林图。
准备数据
同样使用上次绘制诺莫图使用的TCGA-LIHC队列的临床数据,
#载入R函数包 library(survival) library(survminer) ## 读取LIHC数据 LIHC <- read.csv("TCGA-LIHC-nomogram.csv",header=TRUE) head(LIHC)
构建COX生存模型
对LIHC队列进行Cox回归分析,时间变量是time,结局变量是status,自变量选择 age,gender和 grade,结果如下:
#构建模型 model <- coxph( Surv(time, status) ~ age + gender + grade , data = LIHC ) model
好吧,虽然不显著,但是不影响后续森林图的绘制。
绘制森林图
1 ggforest绘制基础森林图
#基础森林图
ggforest(model, data=LIHC)
只需cox回归模型以及数据集即可完成森林图的绘制,但是可以从以下几个方面去优化COX结果森林图:
A:森林图的标题
B:调整前三列的距离,防止过宽或过窄(重叠)
C:字体大小以及HR的小数位数
D:变量名称的调整(分类变量使用数值表示)
2 森林图优化,调整
1)调整变量名称
LIHC <- within(LIHC, { gender <- factor(gender, labels = c('female', 'male')) grade <- factor(grade , labels = c('Grade1', 'Grade3', 'Grade3' , 'Grade4')) })
也许觉得多此一举?
更重要的用途是当分类变量使用1,2... n的数值表示的时候,在图中不会给出分类比较的变量名称,因此需要数值标志的分类变量进行/ 因子转换,然后再绘制。
可自行将gender的FEMALE和MALE改成1 ,2 ,比较结果的区别。
2)优化森林图
model <- coxph( Surv(time, status) ~ age + gender + grade , data = LIHC ) ggforest(model, #coxph得到的Cox回归结果 data = LIHC, #数据集 main = 'Hazard ratio of LIHC', #标题 cpositions = c(0.05, 0.15, 0.35), #前三列距离 fontsize = 1, #字体大小 refLabel = 'reference', #相对变量的数值标签,也可改为1 noDigits = 3 #保留HR值以及95%CI的小数位数 )
如此即完成了以上几个可优化,调整的地方。
此外森林图左下角会给出出现结局事件的个数,COX生存模型的P值,AIC值和C-index值。
◆ ◆ ◆ ◆ ◆
COX生存模型可以绘制森林图,那logist回归的结果可以绘制吗?答案当然是肯定的,后面见!🤭