我正在尝试创建一个显示多个比较的箱形图。我制作了一个玩具数据集,该数据集似乎给了我与使用较大数据集相同的错误。
library(tidyverse)
library(ggsignif)
library(ggpubr)
dat <- data.frame(measurement = c("750","850","900","300","200","400","20","30","50"),diagnosis = c("Healthy","Healthy","Moderate","Sick","Sick"))
dat$measurement <- as.numeric(dat$measurement)
#List of comparisons
dat.compare <- list(c("Healthy","Moderate"),c("Healthy","Sick"),c("Moderate","Sick"))
#Running Anova
dat.lm <- lm(measurement ~ diagnosis,data = dat)
TukeyHSD(aov(dat.lm))
Yields:
Tukey multiple comparisons of means
95% family-wise confidence level
Fit: aov(formula = dat.lm)
$diagnosis
diff lwr upr p adj
Moderate-Healthy -4.3333333 -8.830369 0.1637022 0.0574078
Sick-Healthy -4.6666667 -9.163702 -0.1696312 0.0433911
Sick-Moderate -0.3333333 -4.830369 4.1637022 0.9720206
dat.p <- list("0.05","0.04","0.97")
p adj是我要用以下代码注释到箱线图中的内容:
ggboxplot(dat,x ="diagnosis",y = "measurement",color = "diagnosis",palette = "jco",add = "jitter") +
ggsignif::geom_signif(data=dat,comparisons = dat.compare,annotations=dat.p,map_signif_level = TRUE)
运行箱图代码时,出现以下错误:
Warning message:
Computation failed in `stat_signif()`:
names do not match previous names
最终结果应如下所示
据我所知,比较列表上的名称与数据框中的名称匹配。我已经坚持了几个小时,知道我在做什么错吗?谢谢!