Я недавно обнаружил отличный ggpubr
пакет. Поскольку я работаю с несколькими группами, мне нравится разбивать свои данные на фасеты (facet.by
).
Мой вопрос состоит из двух подвопросов, связанных с одним и тем же графом. Я хотел бы
- добавить уникальную среднюю горизонтальную линию на группу и
- график только значимых сравнений по группам
Моя цель - отобразить коробчатые диаграммы вместе с их значениями значимости для сравнения пар. Поскольку значимость может быть разной в зависимости от группы, я могу составить график только значимых групп или указать значимые сравнения и нанести их индивидуально для каждой группы.
Пример данных:
library(ggpubr)
library(ggplot2)
# Create data
# :::::::::::::::::::::::::::::::::::::::::::::::::::
data("ToothGrowth")
df <- ToothGrowth
# Create basic plot
p <- ggboxplot(df,
x = "dose",
y = "len",
color = "dose",
palette =c("#00AFBB", "#E7B800", "#FC4E07"),
add = "jitter",
facet.by = "supp", # define faceting
shape = "dose")
# Add horizontal line per each group???
p + geom_hline(yintercept = mean(df$len), #aggregate(len ~ supp, df, mean)$len, # mean(df$len),
linetype = 2,
group = "supp")
Приводит к
.
Я пытался вычислить средние значения для группы (#aggregate(len ~ supp, df, mean)$len
), но он просто добавил две строки.
Чтобы указать парные ящики для отображения значимых результатов, я могу добавить
my_comparisons <- list( c("0.5", "1"), c("1", "2"), c("0.5", "2") )
Значимость результатов зависит от группы. Тем не менее, я хочу показать только значимые сравнения. Как я могу указать только значимые пары на группу? Что-то вроде:
my_comp_OJ <- list( c("0.5", "1"), c("0.5", "2"))
my_comp_VC <- list( c("0.5", "1"), c("1", "2"), c("0.5", "2"))
Применяя hide.ns = TRUE
скрыть только ns
, но сохраняет линейную индикацию пар.
p + stat_compare_means(comparisons = my_comparisons,
label = "p.signif",
hide.ns = TRUE) + # Add pairwise comparisons p-value
stat_compare_means(label.y = 50) # Add global p-value
