ggsignif:如何在x轴刻度上定位显着性符号

时间:2018-01-03 16:41:10

标签: r ggplot2 boxplot significance

我希望每个组都有一个带有显着性水平(例如***)的盒子图,没有一条线。生成p值/显着性水平的比较将针对每个测试组相对于单个对照组。

我有很多不同的图表,这意味着手动创建和定位文本框将非常耗时。因此,我希望使用geom_signif函数来自动计算和定位它们。

我可以创建如下内容:

ToothGrowth$dose <- as.factor(ToothGrowth$dose)
ggplot(data=ToothGrowth, aes(x=dose, y=len)) +
  geom_boxplot() +
  geom_signif(comparisons=list(c("0.5", "1"),
                               c("0.5", "2")), 
              map_signif_level=TRUE, y_position = c(40, 45))

这适用于两个或三个小组,但对于我正在使用的数据集中的大量群组而言会变得混乱。

另一种方法:

ggplot(data=ToothGrowth, aes(x=dose, y=len)) +
  geom_boxplot() +
  geom_signif(comparisons=list(c("0.5", "1"),
                           c("0.5", "2")), 
              map_signif_level=TRUE)

这看起来很糟糕。然而,如果显着符号可以间隔以匹配x轴刻度,并且优选地如果线可以被移除/隐藏,则这将是理想的。

任何人都可以演示如何做到这一点吗?

1 个答案:

答案 0 :(得分:0)

可能是“ ggpubr”软件包可能会对您有所帮助。请参阅以下内容的“针对参考组的成对测试”: https://www.r-bloggers.com/add-p-values-and-significance-levels-to-ggplots/