Код для создания игрушечного набора данных, который иллюстрирует проблему.
# Load libraries
library(ggpubr)
library(datasets)
library(reshape2)
# Import dataset
data(ToothGrowth)
# Melt dataset 1
ToothGrowth.melted <- melt(ToothGrowth, id.vars=c("supp", "dose"))
# Create second dataset with different value range, and change "len" to "lon"
ToothGrowth.melted2 <- ToothGrowth.melted %>%
mutate(value = value * 10)
levels(ToothGrowth.melted2$variable) <- "long"
# Concatenate the 2 datasets
new <- rbind(ToothGrowth.melted, ToothGrowth.melted2)
# Create plot
compare_list <- list(c("0.5", "1"), c("0.5", "2"), c("1", "2"))
ggbarplot(new, x = "dose", y = "value",
add = "mean_se",
facet.by = c("variable", "supp"),
scales = "free",
fill = "supp",
color = "black",
palette = c("grey", "grey")) +
theme(strip.placement = "outside") +
labs(x="\nDose", y="Value\n") +
stat_compare_means(comparisons=compare_list) +
stat_compare_means(label.y = 60)
При этом выводится следующий рисунок:
Как определить, где находятся парные p-значения сравнения (чтобы уменьшить пространство между горизонтальными полосами сравнения и barplots) и основное значение p из теста Крускала-Уоллиса появляются в каждом аспекте? Я пробовал + stat_compare_means(label.y = c("60","60","500","500"))
, но это не работает.