打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Forest plot(森林图) | Cox生存分析可视化

本文首发于“生信补给站”微信公众号,https://mp.weixin.qq.com/s/2W1W-8JKTM4S4nml3VF51w

更多关于R语言,ggplot2绘图,生信分析的内容,敬请关注小号,给您干货。

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)森林图优化,调整

调整变量名称
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 ,比较结果的区别

优化森林图
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回归的结果可以绘制吗?答案当然是肯定的,后面见!🤭

【觉得不错,右下角点个“在看”,期待您的转发,谢谢!】

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
绘制cox生存分析结果的森林图
生存分析:cox回归建模
如何绘制控制其他协变量的生存曲线
Nomogram图不会画?看了这篇,小白也能轻松看懂搞定
文献解析 | 看干细胞肝癌免疫功能,如何拿下6分+!
R绘制Nomogram图
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服