技术标签: 生物信息学 可视化 森林图 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)
对LIHC队列进行Cox回归分析,时间变量是time,结局变量是status,自变量选择 age,gender和 grade,结果如下:
#构建模型
model <- coxph( Surv(time, status) ~ age + gender + grade , data = LIHC )
model
好吧,虽然不显著,但是不影响后续森林图的绘制。
#基础森林图
ggforest(model, data = LIHC)
只需cox回归模型以及数据集即可完成森林图的绘制,但是可以从以下几个方面去优化COX结果森林图:
A:森林图的标题
B:调整前三列的距离,防止过宽或过窄(重叠)
C:字体大小以及HR的小数位数
D:变量名称的调整(分类变量使用数值表示)
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回归的结果可以绘制吗?答案当然是肯定的,后面见!?
【觉得不错,右下角点个“在看”,期待您的转发,谢谢!】
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 是统计领域广泛...
本文来自:http://www.vckbase.com/document/viewdoc/?id=1359本文使用下列技术:ASP.NET,.NET 框架,IIS 用 ASP.NET 编写 Web 应用程序其轻松程度令人难以置信。它是如此的容易,以至于许多开发人员不用花费多少时间来构筑其应用便能获得非常好的性能。在本文中,我将给出10个编写高性能 Web 应用的技巧。我的评论不仅仅...
https://blog.csdn.net/will5451/article/details/524726951、首先在app目录下创建一个新的文件夹,命名libs(可自定义)2、(可选)考虑到后面可能会引用很多库,so,在libs下再创建一个phpQuery文件夹3、找到根目录下的composer.json文件4、找到composer.json中定义的(看我备注)...
#include &lt;iostream&gt;using namespace std;//下沉调整(本质上都是上浮调整,只不过是将最小元素上浮)void downAdjust(int array[],int parentIndex,int length){ int temp = array[parentIndex]; int childIndex = 2 * parentInde...
使用keil软件创建一个STM32工程 ----------------芯片:STM32F429IGT6 创建一个STM32F429IG...
1586 - Molar massAnorganiccompound isanymemberofalargeclassofchem-ical compounds whose molecules contain carbon. The molarmass ofanorganiccompoundisthemassofonemoleoftheorganicco
学习笔记,仅供参考,有错必纠文章目录Correlation Adaptive Subspace Segmentation by Trace Lasso摘要介绍相关工作贡献Trace Lasso相关自适应子空间分割有噪声数据的CASS有噪声数据的CASS分组效应最优化伪代码Correlation Adaptive Subspace Segmentation by Trace Lasso摘要研究了子空间分割问题。给定从子空间的并集提取的一组数据点,目标是将它们划分到它们所提取的底层子空间中。以光
swing常见的组件窗体(JFrame)面板(Jpanel) 按钮(JButton) 文本框(JTextFiled)密码框(JPasswordField)标签(JLable) 复选框(JCheckBox)单选框(JRadioButton) 下拉框(JComboBox) 列表(JList)滚动窗格(JScrollpane) ...
一、实时查看文件内容Linux 中有一个tail命令,常用来显示一个文件的最后n行文档内容但更多情况下,我们要在服务器端运行程序,并且需要实时监控运行日志,这时候有什么办法实时滚动显示log文件内容?这里可以利用tail命令加参数f实现:tail用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。tail -f xxx.log (会把文件里最尾部的内容显示在屏...
树莓派安装docker参考: 方法1:官方文档(脚本直接安装) 方法2:官方版本中译(嫌上一个麻烦的可以直接看这个) 方法3:非脚本安装方法 方法4:2&3自己树莓派操作系统命令:lsb_release -a结果:No LSB modules are available.Distributor ID: RaspbianDescription: Raspbian GNU/Linux 10 (buster)Release: 10Codename: buste
今天在Windows11系统下的pycharm开发环境中使用终端安装pyside2包时报了错误:根据错误信息来看是操作系统错误导致的权限不足被拒绝,红色信息最后告诉我可以考虑添加--user 或者检查权限来尝试解决。我首先上网查找了一下这个错误,网上的大佬们基本上靠着 --user 即可解决,但我尝试之后依然不可: 既然简单的不行,没办法,只好继续看信息,既然错误信息已经提示我是C:\\Users\\Administrator\\AppDat...
在数据分析领域,最热门的莫过于Python和R语言,此前有一篇文章《别老扯什么Hadoop了,你的数据根本不够大》指出:只有在超过5TB数据量的规模下,Hadoop才是一个合理的技术选择。这次拿到近亿条日志数据,千万级数据已经是关系型数据库的查询分析瓶颈,之前使用过Hadoop对大量文本进行分类,这次决定采用Python来处理数据:硬件环境CPU:3.5 GHz Intel Core i7内存:3...