Я пытаюсь создать коробку, которая показывает несколько сравнений. Я сделал игрушечный набор данных, который, похоже, выдает мне ту же ошибку, что и мой более крупный.
library(tidyverse)
library(ggsignif)
library(ggpubr)
dat <- data.frame(measurement = c("750","850","900", "300","200","400", "20", "30", "50"),
diagnosis = c("Healthy", "Healthy", "Healthy","Moderate","Moderate","Moderate", "Sick", "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
Конечный результат должен выглядеть примерно так
Насколько я знаю, имена в списке сравнения совпадают с именами в dataframe. Я застрял на этом в течение нескольких часов, есть идеи, что я делаю не так? Спасибо!