1

我想在每组上绘制一个带有显着性水平(例如***)的箱线图,没有一条线。生成 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 轴刻度,并且最好可以删除/隐藏线,这将是理想的。

谁能演示如何做到这一点?

4

1 回答 1

1

可能是“ggpubr”包可以帮助你。请参阅“针对参考组的多个成对测试”部分: https ://www.r-bloggers.com/add-p-values-and-significance-levels-to-ggplots/

于 2018-10-09T08:30:01.053 回答