Ручное построение отношений значимости между подгруппами на ggplot2 barplot - PullRequest
2 голосов
/ 04 апреля 2020

Я пытался нанести вручную помеченные бары значимости для подмножества групп на ggplot2 барплоте, используя ggsignif или ggpubr без особой удачи. Данные выглядят примерно так: MWE:

set.seed(3)
## create data
df <- data.frame(activity = rep(c("Flying", "Jumping"), 3),
                 mean = rep(rnorm(6, 50, 25)),
                 group = c(rep("Ecuador", 2),
                           rep("Peru", 2),
                           rep("Brazil", 2)))
## plot it
ggplot(df, aes(x = activity, y = mean, fill = group)) +
    geom_bar(position = position_dodge(0.9), stat = "identity",
             width = 0.9, colour = "black", size = 0.1) +
    xlab("Activity") + ylab("Mean")

Example plot Где я бы хотел вручную указать метки значимости, скажем, между Бразилией / Эквадором "на" Полете ", и Эквадор / Перу о «Прыжках». Кто-нибудь знает, как правильно обращаться с такими данными, например, с ggsignif? И есть ли способ ссылаться на каждый столбец по имени, а не пытаться определить его х- положение оси?

1 Ответ

3 голосов
/ 04 апреля 2020

Если вы знаете, на какую диаграмму вы хотите добавить метки значимости, вы можете сделать:

library(ggsignif)
library(ggplot2)

ggplot(df, aes(x = activity, y = mean, fill = group)) +
  geom_bar(position = position_dodge(0.9), stat = "identity",
           width = 0.9, colour = "black", size = 0.1) +
  xlab("Activity") + ylab("Mean")+
  geom_signif(y_position = c(60,50), xmin = c(0.7,2), xmax = c(1,2.3),
              annotation=c("**", "***"), tip_length=0)

enter image description here

Отвечает ли он на ваш вопрос

...