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