R语言标记组间的信息

2021-07-28 15:45:10 浏览数 (1)

大家对ggplot应该很熟悉,那么围绕ggplot也开发了很多辅助的包,今天给大家介绍下如何在我们绘制的图像上简单的标注差异信息,比如P值、倍数差等。那么需要用到包ggsignif。首先看下安装:

代码语言:javascript复制
install.packages("ggsignif")

那么既然是差异分析,那么我们需要看下这个包所提供的分析的方法包括:t.test(), wilcox.test(), aov()/anova(), kruskal.test()。

接下来通过实例来看下具体的参数设置:

代码语言:javascript复制
##载入包
library(ggplot2)
library(ggsignif)
 
##基础的绘制
ggplot(mpg,aes(class, hwy))  
  geom_boxplot()  
  geom_signif(comparisons = list(
    c("compact", "pickup"),
    c("subcompact", "suv")
  ))
代码语言:javascript复制
#将P值进行完善

ggplot(mpg,aes(class, hwy))  
  geom_boxplot()  
  geom_signif(
    comparisons = list(
      c("compact","pickup"),
      c("subcompact","suv")
    ),
    map_signif_level = function(p) sprintf("p= %.2g", p)
  )
代码语言:javascript复制
###具体位置的两组之间信息标注。Y_position是指的横线的位置;xmin和xmax组合对应两组的位置(3,5)(1,4)
ggplot(mpg,aes(class, hwy))  
    geom_boxplot()  
    geom_signif(
        annotations = c("First","Second"),
        y_position = c(30, 40), xmin = c(3, 1),xmax = c(5, 4)
    )
代码语言:javascript复制
##P值的星号标注。c("***"=0.001, "**"=0.01,"*"=0.05)
ggplot(iris,aes(x = Species, y = Sepal.Length))  
  geom_boxplot()   # using `ggsignif` todisplay comparison of interest
  geom_signif(
    comparisons =list(c("versicolor", "virginica")),
    map_signif_level = TRUE
  )
代码语言:javascript复制
##去除连接的竖线,或者增加长度
ggplot(iris,aes(x = Species, y = Sepal.Length))  
    geom_boxplot()   # using `ggsignif` todisplay comparison of interest
    geom_signif(
        comparisons =list(c("versicolor", "virginica")),
        map_signif_level = TRUE,tip_length = 0
    )

至此这个包的主要参数都已展示,当然这只是一些简单的基础图,真正在需要的时候可以美化后在进行标记组间信息。

欢迎大家学习交流!

0 人点赞