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

多组差异分析的可视化,这样做最省心!

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

从图形的主题可以看出,这是一幅基于ggplot2绘制的图片,但是如果完全基于ggplot2的基础函数的话,我们需要手动绘制组间比较的连线,计算对应的坐标并添加p值,虽然也可以实现,但不免太过繁琐。

想要更加便利的展示组间差异的结果,可以使用ggpubr这个R包。这是一个基于ggplot2的拓展包,体用了丰富的可视化功能,差异标记的可视化仅仅是其功能之一。

首先来看下其基本用法,代码如下

> library(ggpubr)
载入需要的程辑包:ggplot2
Want to understand how all the pieces fit together? Read R for Data
Science: https://r4ds.had.co.nz/
> data("ToothGrowth")
> df <- ToothGrowth
> head(df, 4)
   len supp dose
1  4.2   VC  0.5
2 11.5   VC  0.5
3  7.3   VC  0.5
4  5.8   VC  0.5
> ggviolin(df, x = "dose", y = "len", fill = "dose",add = "boxplot", add.params = list(fill = "white"))

ggviolin函数提供了小提琴图的可视化功能,通过add=boxplot在小提琴图的基础上添加了箱体图,效果图如下

接下来添加差异分析的p值, 代码如下

+   df, x = "dose", y = "len",
+   fill = "dose",
+   add = "boxplot",
+   add.params = list(fill = "white")) +
+ stat_compare_means()

stat_compare_means函数添加差异分析的p值,默认参数的情况下,添加组间kw检验的结果,效果图如下

也可以手动指定需要标记的分组,代码如下

> ggviolin(
+   df, x = "dose", y = "len",
+   fill = "dose",
+   add = "boxplot",
+   add.params = list(fill = "white")) +
+ stat_compare_means(comparisons = list(c("0.5", "1")))

程序会自动计算坐标,标记p值,效果图如下

需要注意的是,当涉及到多组间的两两比较时,写法上比较特殊,对于3组间的两两比较,我们先看下每次指定一组差异分析的情况,代码如下

> ggviolin(
+   df, x = "dose", y = "len",
+   fill = "dose",
+   add = "boxplot",
+   add.params = list(fill = "white")) +
+ stat_compare_means(comparisons = list(c("0.5", "1"))) +
+ stat_compare_means(comparisons = list(c("1", "2"))) +
+ stat_compare_means(comparisons = list(c("0.5", "2")))

效果图如下

可以看到,程序没有自动化的计算3组p值的位置,导致重叠了,为了避免这种情况,我们需要下列这种写法

> ggviolin(
+   df, x = "dose", y = "len",
+   fill = "dose",
+   add = "boxplot",
+   add.params = list(fill = "white")) +
+ stat_compare_means(comparisons = list( c("0.5", "1"), c("1", "2"), c("0.5", "2") ))

需要把3组差异分组包含在一个list中,这样程序就会自动计算标记p值的位置,将3组p值自动化的区分开,效果图如下

除了直接标记p值外,也支持用星号代替,将代码如下

> ggviolin(
+   df, x = "dose", y = "len",
+   fill = "dose",
+   add = "boxplot",
+   add.params = list(fill = "white")) +
+ stat_compare_means(
+   label = "p.signif",
+   comparisons = list( c("0.5", "1"), c("1", "2"), c("0.5", "2"))
+ )

效果图如下

最后,来看一个官网的示例,看下以上所有参数组合使用的例子,代码如下

> comparisons <- list( c("0.5", "1"), c("1", "2"), c("0.5", "2") )
> ggviolin(
+   df, x = "dose", y = "len", fill = "dose",
+   palette = c("#00AFBB", "#E7B800", "#FC4E07"),
+   add = "boxplot", add.params = list(fill = "white")) +
+   stat_compare_means(comparisons = my_comparisons, label = "p.signif") +
+   stat_compare_means(label.y = 50)

效果图如下

掌握了以上用法,绘制文章开头的那张图片就不在是难事了。

·end·

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

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

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

相关文章

  • 原发肿瘤和转移瘤的哪个多组学层面的差异大?

    2020年11月的文章《 Integrated Omics of Metastatic Colorectal Cancer》就是多组学肿瘤研究的佼佼者,基于多组...

    生信技能树
  • 单细胞文献你不整理,过后甚至会忘记自己曾经读过

    该研究的实验设计很清晰,就是 5 个正常人加上13个患者 的 血液进行单细胞转录组 :

    生信技能树
  • NAR:脑疾病研究的“金牌助手”:BrainBase

    脑是人体的神经系统中枢,也是最复杂的人体器官,不仅控制思想、记忆、语言、运动,也调节许多其它器官的功能。阿尔兹海默症、胶质瘤、帕金森综合征、抑郁症等脑疾病严重威...

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

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

    作图丫
  • 再谈可视化:如何展示数据

    如何来展现的你的数据?是你有时不得不去思考的一个问题。不同的展示方法,其效果往往差异巨大。这里我将结合近期的一些阅读和实践,试图给出一些方法,希望能帮助到你。

    用户5548425
  • GEPIA:TCGA和GTEx表达谱数据分析平台

    GEPIA整合了来自TCGA和GTEx项目中的基因表达谱数据,提供了多种数据分析和可视化功能,操作简单,方便广大科研人员对肿瘤的表达谱数据进行挖掘,对应的文章发...

    生信修炼手册
  • 你真的懂如何展示数据吗?

    不同的展示方法,其效果往往差异巨大。这里我将结合近期的一些阅读和实践,试图给出一些方法,希望能帮助到你。

    朱小五
  • 肿瘤异质性研究的标准思路(多组学+多位点取样)

    比如肿瘤异质性研究的标准思路(多组学+多位点取样),发表在 Clin Cancer Res 2021; 的 文章:《Multiomic Analysis Rev...

    生信技能树
  • GWAS样本量不够怎么办,meta分析了解一下

    对于GWAS分析而言,增加样本量是提高检验效能的最直接有效的方式。目前常规GWAS项目的样本量约为1000 cases vs 1000 controls,这样的...

    生信修炼手册
  • 「分享」差异分析完整解决方案:Easystat

    结果中多重比较的展示全部使用字母表示了,虽然许多多种比较方法默认展示方式不同,但是我已经在包中将这些展示方式调整一致为字母。

    王诗翔呀
  • 韦恩图绘制工具推荐

    在数据可视化的时候,对于两个分类或者多个数据集来进行交集和并集可视化经常要用到韦恩图(Venn)来进行展示。对于韦恩图可视化,网上还是有很多相关的工具的。但是...

    医学数据库百科
  • 欧洲裔和非裔美国乳腺癌患者差异可以TCGA数据库验证

    差异分析相信大家都不陌生了,基本上看我六年前的表达芯片的公共数据库挖掘系列推文即可;

    生信技能树
  • 组学分析神器:cBioPortal

    cBioPortal网站目前存储DNA拷贝数数据(每个基因的假定,离散值,例如“深度缺失”或“扩增”,以及log2水平),mRNA和microRNA表达数据,非...

    芒果先生聊生信
  • 流式分选后指定细胞亚群的表达量差异(无需单细胞)

    比如根据表达量情况把病人分型,比如乳腺癌的分子分型:你可以看lumA、lumB、basal、HER2 等亚型,其中TNBC可以继续细分为3~7种亚型。现在有了单...

    生信技能树jimmy
  • 不仅仅是火山图,你可以获得更多可视化结果!

    今天小编给大家带来一个很好用的RNA-seq 可视化的R包-RVA( RNAseq Visualization Automation)。“RVA”是一个功能集合...

    作图丫
  • 单细胞DNA甲基化研究基础篇:从实验策略到数据分析方法简介

    DNA甲基化是细胞分裂过程中遗传的一种表观遗传标记,影响细胞的生物学功能。而单细胞水平上的全基因组甲基化分析将有助于深入了解转录调控和细胞异质性。

    尐尐呅
  • R语言一键批量完成差异统计和可视化

    关键词:正态性检验;方差齐性;非参数检验;秩和检验;多重比较;带显著性字母柱状图或箱线图

    生信宝典
  • 拼凑6个网页工具图表还不够那就再加上6个组学

    TCGA数据挖掘真的是绵绵不绝,这里就不再赘述了,从基因集到ceRNA,到可变剪切,肿瘤免疫, 再到现在的m6A和自噬基因, 马上缺氧,代谢应该是也要出来了,每...

    生信技能树
  • 这些数据库很不错,要不要看看?

    生物信息分析离不开数据资源和数据库,生物信息学数据库分类概览 (第一版)系统梳理了常用功能数据库。

    生信宝典

扫码关注腾讯云开发者

领取腾讯云代金券