R ggplot和ggsignif箱线图添加显著性差异标识

R ggplot和ggsignif箱线图添加显著性差异标识,第1张

有时候我们会看到如上图片,觉得挺好,但是如何实现呢?没有做的的时候,觉得挺难,但是真要做才发现没有那么困难?

其实做这样的图,目前R比较常用的包有两个,分别为:ggsignif和ggpubr,两者的用法大体差不多,有一些细微从差别,但是结果几乎一样。这里我用的是ggsignif,下面将介绍ggsignif的用法。

两种安装方式:

一般根据数据是否符合正态分布,选择合适的统计方法:

ggsignif包主要函数为:geom_signif()和stat_signif(),常用geom_signif()。

常用参数如下:

test数据集两列,一列是基因表达量,一列是分组。

神奇小工具丨ggplot绘图显著性添加工具---ggsignif

在数据分析过程中,常常需要把组间的显著性添加到图形中,但是在ggplot2中实现起来略显麻烦,幸运的是,有很多R包可以帮助我们实现这一 *** 作,比如ggsignif和ggpubr。

一般根据数据是否符合正态分布,选择合适的统计方法:

ggsignif包主要函数为: geom_signif() stat_signif() ,常用 geom_signif() 。

安装

使用iris数据集做演示

Species的三组两两分别作差异性检验,提前设定好配对分析的list

绘制geom_boxplot()和小提琴图geom_violin()

ggpubr添加p-value主要使用ggpubr包中的两个函数: compare_means() stat_compare_mean()

y:测试中使用的y变量

p:p-value

p.adj:调整后的p-value。默认为p.adjust.method=“holm”

p.format:四舍五入后的p-value

p.signif:显著性水平

method:用于统计检验的方法

绘制箱线图

上述显著性标记可以通过label.x、label.y、hjust及vjust来调整

显著性标记可以通过aes()映射来更改:

aes(label=…p.format…)或aes(lebel=paste0(“p=”,…p.format…)):只显示p-value,不显示统计检验方法

aes(label=…p.signif…):仅显示显著性水平

aes(label=paste0(…method…,"\n", “p=”,…p.format…)):p-value与显著性水平分行显示

也可以将标签指定为字符向量,不要映射,只需将p.signif两端的…去掉即可

利用ggpaired()进行可视化

绘图

Pairwise comparisons:如果分组变量中包含两个以上的水平,那么会自动进行pairwise test,默认方法为”wilcox.test”

参考: https://blog.csdn.net/xj4math/article/details/115448669

load("Type.Rdata")

首先外面是一个小提琴图,中间一个箱式图,然后两两之间做差异分析,而且排列要从低到高,并且要用*来表示p值的显著程度

step1.映射

x轴是类型,y轴是表达量,填充的颜色按照type来区分,所以直接引用ggviolin

柳叶刀配色

需要给它打上白色,覆盖下面的小提琴图配色

比如要看泛肿瘤里面各种肿瘤里面特定基因的表达量之间有没差异,就可以用这个小提琴图来进行展示,这时候order就可以排序了

三组两两对比 :先定义一下三组之间的关系,再用一个对比函数,stat_compare_means设置两两比较

基础知识,多多学习


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11871529.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存