#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)