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

22019.03.07 11:33:11
具有显著性标注的箱线图

有时候我们会看到如上图片,觉得挺好,但是如何实现呢?没有做的的时候,觉得挺难,但是真要做才发现没有那么困难?
其实做这样的图,目前R比较常用的包有两个,分别为:ggsignif和ggpubr,两者的用法大体差不多,有一些细微从差别,但是结果几乎一样。这里我用的是ggsignif,下面将介绍ggsignif的用法。

ggpubr示范结果

ggsignif安装:

两种安装方式:

  • install.packages("ggsignif")

  • devtools::install_github("const-ae/ggsignif")

统计方法与参数

统计方法

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

统计方法 适用情况
t.test() 比较两组(参数)
wilcox.test() 比较两组(非参数)
aov()或anova() 比较多组(参数)
kruskal.test() 比较多组(非参数)

参数

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

参数 说明示范
comparisons list,设置需要比较的组,比如list(c("a","b"),c("a","c"))
test 上述统计方法,比如t.test()
test.args test传入的参数
map_signif_level 布尔值,p值直接被当作注释或者以星号替代,比如c(""=0.001,""=0.01,""=0.05)
annotations 带有可选注释的字符向量,如果没有则被忽略
step_increase 不同组差异标注的间隔

所有参数

geom_signif(mapping = NULL, data = NULL, stat = "signif",position = "identity", na.rm = FALSE, show.legend = NA,inherit.aes = TRUE, comparisons = NULL, test = "wilcox.test",test.args = NULL, annotations = NULL, map_signif_level = FALSE,y_position = NULL, xmin = NULL, xmax = NULL, margin_top = 0.05,step_increase = 0, tip_length = 0.03, size = 0.5, textsize = 3.88,family = "", vjust = 0, ...)

ggsignif使用示范:

1. 测试数据集test

test测试数据集

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

test数据的group列

2. 差异分析分组

compaired <- list(c("a", "b"),c("a","c"),c("a","d"))

3. 画图

ggplot(test,aes(group,exp,fill=group))+geom_boxplot(width=0.5)+theme(plot.title=element_text(size = 25),axis.text.x=element_text(size=15,angle=0),axis.text.y=element_text(size=15),axis.title.x=element_text(size = 23),axis.title.y=element_text(size = 23))+labs(x='Gene', y= '')+geom_signif(comparisons = compaired,step_increase = 0.1,map_signif_level = F,test = t.test)
结果图
(0)

相关推荐

  • Python、R对小说进行文本挖掘和层次聚类可视化分析案例

    原文链接:http://tecdat.cn/?p=5673 <第二十二条军规>是美国作家约瑟夫·海勒创作的长篇小说,该小说以第二次世界大战为背景,通过对驻扎在地中海一个名叫皮亚诺扎岛(此岛 ...

  • R绘图:无与伦比的华丽风行(桑基图)

    首先看到这个名字,有没有勾起你的某些回忆呢? R绘图我们已经出过几期 R绘图 ggpubr: 为学术而生 R绘图 ggsci: 高大上的论文配色,一文解决配色问题 R绘图:相关性分析与作图 R绘图:相 ...

  • R绘图笔记 | R语言绘图系统与常见绘图函数及参数

    一. R语言绘图系统 在 R 里,主要有两大底层图形系统,一是 base 图形系统,二是 grid 图形系统.lattice 包与 ggplot2包正是基于 grid 图形系统构建的,它们都有自己独特 ...

  • R语言中实现广义相加模型GAM和普通最小二乘(OLS)回归

    原文链接:http://tecdat.cn/?p=20882 1导言 这篇文章探讨了为什么使用广义相加模型 是一个不错的选择.为此,我们首先需要看一下线性回归,看看为什么在某些情况下它可能不是最佳选择 ...

  • R绘图笔记 | 小提琴图与漂亮的云雨图绘制

    关于绘图图,前面介绍了一些: R绘图笔记 | 一般的散点图绘制 R绘图笔记 | 柱状图绘制 R绘图笔记 | 直方图和核密度估计图的绘制 R绘图笔记 | 二维散点图与统计直方图组合 R绘图笔记 | 散点 ...

  • 跟着Nature Genetics 学画图:R语言ggplot2画箱线图(boxplot)展示D s...

    简介:R语言统计与绘图公众号目前致力于分享医学统计与R绘图知识,手把手教你使用R语言绘制基线特征表.KM生存曲线.森林图.ROC曲线等.每天一篇精彩R语言推文教程,手把手带你入门R语言绘图. 今天推文 ...

  • Origin绘图教程:添加显著性差异标识

    方法一:Label列法 顾名思义,就是在输入数据是多添加一列,并将其属性设置为Label,将星号输入此列,如下图: 直接选中四列作柱状图,得到的初始图如下: 我们可以看到现在星号方向和位置都不对 在图 ...

  • R语言ggboxplot-一文掌握箱线图绘制所有细节

    载入数据 1Sys.setlocale('LC_ALL','C') 2load(file = "F:/Bioinfor_project/Breast/AS_research/AS/resul ...

  • R之箱线图绘制

    16s分析一直在连载,但是最基础的莫过于alpha多样性了,但是箱线图却不是alpha多样性的唯一选择,箱线图也不是局限于alpha多样性,这里借助alpha多样性,将箱线图做一个完整绘制 #这里安装 ...

  • 服务业六西格玛管理项目工具-箱线图

    箱线图(也称为方框虚线图)可用来评估和比较样本分布.箱线图在六西格玛D阶段及A阶段用得比较多,在T检验和方差分析的图形输出中都有用到.Quartile ("Q") 代表数据的四分之 ...

  • 箱线图的生物学含义

    我们阅读量破万的综述:RNA-seq这十年(3万字长文综述) 给粉丝朋友们带来了很多理解上的挑战,所以我们开辟专栏慢慢介绍其中的一些概念性的问题,上一期: 表达矩阵的归一化和标准化,去除极端值,异常值 ...

  • 箱线图你真的懂了吗?

    欢迎来到医科研,这里是白介素2的读书笔记,跟我一起聊临床与科研的故事, 生物医学数据挖掘,R语言,TCGA.GEO, SEER数据挖掘. 箱线图的理解,以下先画出一个箱线图 library(tidyv ...

  • R语言ggplot2绘制箱线图

    欢迎来到医科研,这里是白介素2的读书笔记,跟我一起聊临床与科研的故事, 生物医学数据挖掘,R语言,TCGA.GEO数据挖掘. R语言ggplot2绘制箱线图  差异基因与基因交集 if(T){ req ...

  • 箱线图和小提琴图合在一起更好

    Boxplot 一般我们的箱线图就是这样 # Libraries library(tidyverse) library(hrbrthemes) library(viridis) # create a ...