前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >跟着Nature学作图:R语言ggplot2画误差线展示广义线型模型比值比(odds ratio)

跟着Nature学作图:R语言ggplot2画误差线展示广义线型模型比值比(odds ratio)

作者头像
用户7010445
发布2023-01-06 18:32:10
3310
发布2023-01-06 18:32:10
举报

论文是

Environmental factors shaping the gut microbiome in a Dutch population

数据和代码的github主页链接

https://github.com/GRONINGEN-MICROBIOME-CENTRE/DMP

这个也是数据代码的下载链接,可以看目录结构

https://zenodo.org/record/5910709#.YmAcp4VBzic

今天的推文重复一下论文中的 figureS3c 误差线图

image.png

部分示例数据集如下

image.png

读取数据集

代码语言:javascript
复制
disease_enterotype<-readr::read_csv("newdataset/FigureS3c.csv")

根据P值的大小给数据集增加一列表示分组

代码语言:javascript
复制
disease_enterotype$Sig=NA
disease_enterotype$Sig[disease_enterotype$Pvalue<0.5]="Significant"
disease_enterotype$Sig[disease_enterotype$Pvalue>=0.5]="Non-Significant"

这里的p值我选择0.5是因为论文中的数据是模拟数据,没啥实际意义。自己真实的数据集需要酌情考虑

根据Odds ratio的大小排序

代码语言:javascript
复制
disease_enterotype=disease_enterotype[order(disease_enterotype$OR),]

删除带有缺失值的行

代码语言:javascript
复制
disease_enterotype=na.omit(disease_enterotype)

赋予因子水平

代码语言:javascript
复制
disease_enterotype$Disease=factor(disease_enterotype$Disease,levels = disease_enterotype$Disease)

作图代码

代码语言:javascript
复制
library(ggplot2)
g <- ggplot(disease_enterotype, aes(x = OR, y = Disease,color=Sig)) + 
  geom_vline(aes(xintercept = 1), size = .25, linetype = "dashed") + 
  geom_errorbarh(aes(xmax = `CI_up`, xmin = `CI_low`), size = .3, 
                 height = 0.2) +
  geom_point(size = 3.5,shape=7) +
  theme_bw()+ theme(panel.grid.minor = element_blank()) +
  ylab("") + xlab("Odds ratio")+scale_color_lancet()
print(g)

image.png

论文中的图x轴还有一些注释信息,可以出图后借助其他软件编辑,如果先用代码实现的话可以借助annotate_custom()函数,上一篇推文由关于这个函数的介绍,可以找来参考

论文中figureS3的布局,上面已经有两个图,下面这个图可能改成水平方向的会美观一点

代码语言:javascript
复制
g+coord_flip()+
  theme(legend.position = "top",
        axis.text.x = element_text(angle=90,
                                   hjust=1,vjust=0.5))
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-05-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小明的数据分析笔记本 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 论文是
  • 数据和代码的github主页链接
  • 这个也是数据代码的下载链接,可以看目录结构
  • 部分示例数据集如下
  • 读取数据集
  • 根据P值的大小给数据集增加一列表示分组
  • 根据Odds ratio的大小排序
  • 删除带有缺失值的行
  • 赋予因子水平
  • 作图代码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档