专栏首页生信修炼手册组间差异分析就要这样可视化!

组间差异分析就要这样可视化!

在之前的文章中,我们分享了多个基因差异分析的可视化,使用的是ggpubr这个R包,ggpubr在标记p值时,可以根据指定的差异分组自动添加组间的连线,非常方便,但是无法指定添加的p值的位置,在某些时候会缺乏灵活性,今天要介绍的是另外一个R包ggsignif,其帮助手册链接如下

https://cran.r-project.org/web/packages/ggsignif/vignettes/intro.html

首先我们用示例数据跑一跑

> library(ggplot2)
> library(ggsignif)
> head(iris)
  Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1          5.1         3.5          1.4         0.2  setosa
2          4.9         3.0          1.4         0.2  setosa
3          4.7         3.2          1.3         0.2  setosa
4          4.6         3.1          1.5         0.2  setosa
5          5.0         3.6          1.4         0.2  setosa
6          5.4         3.9          1.7         0.4  setosa
> ggplot(iris, aes(x = Species, y = Sepal.Length)) +
+   geom_boxplot() +
+   geom_signif(
+     comparisons = list(c("versicolor", "virginica"))
+ )

效果图如下

通过comparisons参数来手动指定需要比较的两组,就会自动在上面添加p值和连线,默认都在顶部添加,当我么同时指定了多组数据的比较时,就会重叠,示例如下

> ggplot(iris, aes(x = Species, y = Sepal.Length)) +
+   geom_boxplot() +
+   geom_signif(
+     comparisons = list(
+       c("versicolor", "virginica"),
+       c("setosa", "virginica"),
+       c("setosa", "versicolor")
+     )
+ )

效果图如下

为了避免这个问题,ggsignif还支持直接指定文字注释的内容和横线的宽高度,代码如下

> ggplot(iris, aes(x = Species, y = Sepal.Length)) +
+   geom_boxplot() +
+   geom_signif(
+     annotations = c("First", "Second", "Third"),
+     y_position = c(8, 8.2, 8.5),
+     xmin = c(1, 2, 1),
+     xmax = c(2, 3, 3)
+ )

效果图如下

掌握了基本用法之后,就可以来复现文章中的图表了,首先是两组间的差异,代码如下

> data <- iris[iris$Species %in% c("versicolor", "virginica"), ]
> ggplot(data, aes(x = Species, y = Sepal.Length, fill = Species)) +
+   geom_boxplot() +
+   geom_signif(comparisons = list(c("versicolor", "virginica"))) +
+   theme_classic() +
+   theme(legend.position = "top")

效果图如下

再来复现一个三组比较的,文献中插入如下所示

代码如下

> ggplot(data, aes(x = Species, y = Sepal.Length, fill = Species)) +
+   geom_boxplot() +
+   geom_signif(comparisons = list(c("versicolor", "virginica"))) +
+   theme_classic() +
+   theme(legend.position = "top")
> ggplot(iris, aes(x = Species, y = Sepal.Length, fill = Species)) +
+   geom_boxplot() +
+   geom_signif(
+     annotations = c("*", "**", "***"),
+     y_position = c(8, 8.2, 8.5),
+     xmin = c(1, 2, 1),
+     xmax = c(2, 3, 3)
+   ) +
+   theme_classic() +
+   theme(legend.position = "top")

效果图如下

通过y_position, xmin, xmax参数来指定p值的位置,通过annotations参数指定标记的具体信息,提升了灵活性。

·end·

文章分享自微信公众号:
生信修炼手册

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

作者:lzyg
原始发表时间:2022-05-25
如有侵权,请联系 cloudcommunity@tencent.com 删除。
登录 后参与评论
0 条评论

相关文章

  • 组间差异分析:Anosim

    Anosim分析(Analysis of similarities)是一种基于置换检验和秩和检验的非参数检验方法,用来检验组间的差异是否显著大于组内差异,从而判...

    SYSU星空
  • 组间差异分析:MRPP

    MRPP分析即多重响应排列程序(Multiple ResponsePermutation Procedure),使用方法与Anosim类似,用于分析组间微生物群...

    SYSU星空
  • 组间差异分析:Adonis

    通常我们在做假设检验的时候,是看一个分组变量(也即因子型变量)对某个数值变量的影响,这时候我们针对数据特征可以选择合适的检验方法(详见往期文章R中的假设检验方法...

    SYSU星空
  • 组间差异分析:Metastats

    在不同区组中寻找差异物种常用的两个工具是Metastats和LEfSe。抛开这两个工具本身,从算法原理上来说,Metastats实际上是非参数多重检验和p值校正...

    SYSU星空
  • 使用edgeR进行两组间的差异分析

    edgeR 接受raw count的定量表格,然后根据样本分组进行差异分析,具体步骤如下

    生信修炼手册
  • 使用limma进行两组间的差异分析

    limma这个R包可以用于分析芯片数据,也可以分析NGS测序的数据,其核心是通过线性模型去估算不同分组中基因表达量的均值和方差,从而进行差异分析。

    生信修炼手册
  • 使用DESeq2进行两组间的差异分析

    DESeq2 接受raw count的定量表格,然后根据样本分组进行差异分析,具体步骤如下

    生信修炼手册
  • 多组差异分析的可视化,这样做最省心!

    下图是来自文献中的一个示例图,展示了不同亚型之间risk score值的差异分析结果

    生信修炼手册
  • PNAS:人类大脑性别间差异研究—基于结构、功能及转录组多模态分析

    导读 人类大脑在许多认知以及行为等方面都表现出明显的性别差异,这些差异具有可重复性,而且更为重要的是,这些差异或许可以反映不同性别间大脑内部局部组织的不同。这些...

    悦影科技
  • 扩增子图表解读2散点图:组间整体差异分析(Beta多样性)

    作者: 刘永鑫 日期:2017-6-29 阅读时长:10 min 背景介绍(Introduction) 宏基因组学 宏基因组学目前的主要研究方法包括:16S/I...

    生信宝典
  • 受限平均生存时间(Restricted mean survival time)简析及R语言实现

    前些天我的学徒写了教程:人人都可以学会生存分析(学徒数据挖掘) 吸引到了读者:武汉大学金文意,他希望可以分享一下生存分析的新玩法:

    生信技能树
  • 一网打尽所有的比较型统计分析和可视化

    每篇SCI都免不了做各种比较,比较两组间、甚至多组间的差异。小编整理了一些组间比较的可视化,总能找到适合你文章的那一款!

    作图丫
  • Glimma 交互式可视化RNA-seq数据

    转录组的标准分析,比较容易复现,基本上看我六年前的表达芯片的公共数据库挖掘系列推文即可;

    生信技能树
  • 统计细胞检测的基因数量

    (g) number of exon mapping reads. Cutoff: 10000 (8 cells failed).

    生信技能树jimmy
  • ATAC-seq的经典差异分析思路

    现在是2021了,有了很多成熟的软件算法可以做peaks的差异分析,不过偶尔忆苦思甜也是有必要的ATAC-seq经典差异分析,让我们一起看看距离2013年的AT...

    生信技能树
  • R语言从入门到精通:Day11

    在上一次推文中,我们已经介绍了两组独立样本的t检验,今天我们来介绍用于常见实验设计的方差分析大全。

    用户6317549

扫码关注腾讯云开发者

领取腾讯云代金券