美文网首页ggplot2绘图数据-R语言-图表-决策-Linux-PythonR语言
R ggplot和ggsignif箱线图添加显著性差异标识

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

作者: 尧小飞 | 来源:发表于2019-03-07 11:33 被阅读358次

    箱线图添加显著性差异标识

    具有显著性标注的箱线图

    有时候我们会看到如上图片,觉得挺好,但是如何实现呢?没有做的的时候,觉得挺难,但是真要做才发现没有那么困难?
    其实做这样的图,目前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= 'Expression')+geom_signif(comparisons = compaired,step_increase = 0.1,map_signif_level = F,test = t.test)
    
    结果图

    4. 参考博客

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

    相关文章

      网友评论

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

        本文链接:https://www.haomeiwen.com/subject/wpmqpqtx.html