R ggplot2: добавить средства в виде горизонтальной линии в boxplot

#r #ggplot2 #boxplot

#r #ggplot2 #boxplot

Вопрос:

Я создал boxplot с помощью ggplot2:

 library(ggplot2)

dat <- data.frame(study = c(rep('a',50),rep('b',50)), 
                  FPKM = c(rnorm(1:50),rnorm(1:50)))

ggplot(dat, aes(x = study, y = FPKM))   geom_boxplot()
  

На boxplot медиана отображается в виде горизонтальной линии через каждый блок.

введите описание изображения здесь

Как мне добавить пунктирную линию в поле, представляющее среднее значение этой группы?

Спасибо!

Ответ №1:

Вы можете добавлять горизонтальные линии к графикам с помощью stat_summary with geom_errorbar . Линия горизонтальная, потому что минимум и максимум y установлены такими же, как y .

 ggplot(dat, aes(x = study, y = FPKM))   
    geom_boxplot()  
    stat_summary(fun.y = mean, geom = "errorbar", aes(ymax = ..y.., ymin = ..y..),
                 width = .75, linetype = "dashed")
  

введите описание изображения здесь

Комментарии:

1. Просто хотелось бы добавить, что, используя новый синтаксис ggplot, следующее также будет работать с преобразованиями масштаба: stat_summary(geom = "errorbar", fun.min = mean, fun = mean, fun.max = mean, width = .75)