Forest plot(森林图) | Cox生存分析可视化_cox forest 森林图_生信补给站的博客-程序员宅基地

技术标签: 生物信息学  可视化  森林图  R语言  COX分析  forest plot  生存分析  

本文首发于“生信补给站”微信公众号,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)

img

二 构建COX回归模型

对LIHC队列进行Cox回归分析,时间变量是time,结局变量是status,自变量选择 age,gender和 grade,结果如下:

#构建模型
model <- coxph( Surv(time, status) ~  age + gender + grade , data =  LIHC )
model

img

好吧,虽然不显著,但是不影响后续森林图的绘制。

三 绘制森林图

1)ggforest绘制基础森林图

#基础森林图
ggforest(model, data = LIHC)

img

只需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的小数位数
        )

img

如此即完成了以上几个可优化,调整的地方。

此外森林图左下角会给出出现结局事件的个数,COX生存模型的P值,AIC值和C-index值。

◆ ◆ ◆ ◆ ◆

COX生存模型可以绘制森林图,那logist回归的结果可以绘制吗?答案当然是肯定的,后面见!?

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

img

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_39556044/article/details/102417748

智能推荐

R与SAS、SPSS的比较_weixin_34174132的博客-程序员宅基地

http://blog.sina.com.cn/s/blog_597fcb450100c3um.html 【转】R与SAS、SPSS的比较  (2009-03-05 20:29:40)转载标签: 教育分类: 学习R与SAS、SPSS的比较R语言R是用于统计分析、绘图的语言和操作环境。R是属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具。 R 是统计领域广泛...

编写高性能 Web 应用程序的10个技巧 (转)_dhz43885的博客-程序员宅基地

本文来自:http://www.vckbase.com/document/viewdoc/?id=1359本文使用下列技术:ASP.NET,.NET 框架,IIS  用 ASP.NET 编写 Web 应用程序其轻松程度令人难以置信。它是如此的容易,以至于许多开发人员不用花费多少时间来构筑其应用便能获得非常好的性能。在本文中,我将给出10个编写高性能 Web 应用的技巧。我的评论不仅仅...

Laravel引入第三方库的方法_lxw1844912514的博客-程序员宅基地

https://blog.csdn.net/will5451/article/details/524726951、首先在app目录下创建一个新的文件夹,命名libs(可自定义)2、(可选)考虑到后面可能会引用很多库,so,在libs下再创建一个phpQuery文件夹3、找到根目录下的composer.json文件4、找到composer.json中定义的(看我备注)...

堆排序,分别利用大根堆、小根堆排序_堆排序递增是大根堆还是小根_qq_33615374的博客-程序员宅基地

#include &amp;lt;iostream&amp;gt;using namespace std;//下沉调整(本质上都是上浮调整,只不过是将最小元素上浮)void downAdjust(int array[],int parentIndex,int length){ int temp = array[parentIndex]; int childIndex = 2 * parentInde...

使用keil软件创建一个STM32工程_基于keil的stm32工程的建立_小丁学习的博客-程序员宅基地

使用keil软件创建一个STM32工程 ----------------芯片:STM32F429IGT6 创建一个STM32F429IG...

【白书之路】 1586 - Molar mass 字符串分离处理_colorfulshark的博客-程序员宅基地

1586 - Molar massAnorganiccompound  isanymemberofalargeclassofchem-ical compounds whose molecules contain carbon. The  molarmass ofanorganiccompoundisthemassofonemoleoftheorganicco

随便推点

文献学习(part17)--Correlation Adaptive Subspace Segmentation by Trace Lasso_GoatGui的博客-程序员宅基地

学习笔记,仅供参考,有错必纠文章目录Correlation Adaptive Subspace Segmentation by Trace Lasso摘要介绍相关工作贡献Trace Lasso相关自适应子空间分割有噪声数据的CASS有噪声数据的CASS分组效应最优化伪代码Correlation Adaptive Subspace Segmentation by Trace Lasso摘要研究了子空间分割问题。给定从子空间的并集提取的一组数据点,目标是将它们划分到它们所提取的底层子空间中。以光

java--swing组件_我是马克思小清新的博客-程序员宅基地

swing常见的组件窗体(JFrame)面板(Jpanel) 按钮(JButton) 文本框(JTextFiled)密码框(JPasswordField)标签(JLable) 复选框(JCheckBox)单选框(JRadioButton) 下拉框(JComboBox) 列表(JList)滚动窗格(JScrollpane)   ...

大数据Linux命令之文件查看大小、系统情况命令、压缩与解压_仙人掌仙人的博客-程序员宅基地

一、实时查看文件内容Linux 中有一个tail命令,常用来显示一个文件的最后n行文档内容但更多情况下,我们要在服务器端运行程序,并且需要实时监控运行日志,这时候有什么办法实时滚动显示log文件内容?这里可以利用tail命令加参数f实现:tail用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。tail -f xxx.log (会把文件里最尾部的内容显示在屏...

树莓派4b安装docker报错解决_illegal option --version_BoJack_Horse的博客-程序员宅基地

树莓派安装docker参考:  方法1:官方文档(脚本直接安装)  方法2:官方版本中译(嫌上一个麻烦的可以直接看这个)  方法3:非脚本安装方法  方法4:2&amp;3自己树莓派操作系统命令:lsb_release -a结果:No LSB modules are available.Distributor ID: RaspbianDescription: Raspbian GNU/Linux 10 (buster)Release: 10Codename: buste

关于安装pyside2时ERROR: Could not install packages due to an OSError: [Errno 13] 的解决办法……_pyside2安装失败_爱媛YY的博客-程序员宅基地

今天在Windows11系统下的pycharm开发环境中使用终端安装pyside2包时报了错误:根据错误信息来看是操作系统错误导致的权限不足被拒绝,红色信息最后告诉我可以考虑添加--user 或者检查权限来尝试解决。我首先上网查找了一下这个错误,网上的大佬们基本上靠着 --user 即可解决,但我尝试之后依然不可: 既然简单的不行,没办法,只好继续看信息,既然错误信息已经提示我是C:\\Users\\Administrator\\AppDat...

python处理上亿数据_使用Python Pandas处理亿级数据_weixin_39990660的博客-程序员宅基地

在数据分析领域,最热门的莫过于Python和R语言,此前有一篇文章《别老扯什么Hadoop了,你的数据根本不够大》指出:只有在超过5TB数据量的规模下,Hadoop才是一个合理的技术选择。这次拿到近亿条日志数据,千万级数据已经是关系型数据库的查询分析瓶颈,之前使用过Hadoop对大量文本进行分类,这次决定采用Python来处理数据:硬件环境CPU:3.5 GHz Intel Core i7内存:3...

推荐文章

热门文章

相关标签