Есть несколько разных способов сделать это, но мне нравится создавать отдельный обобщенный фрейм данных и затем передавать его в вызов geom_vline. Это позволяет анализировать результаты и упрощает добавление нескольких строк, которые автоматически сортируются и раскрашиваются по типу:
library(tidyverse)
df <-
tibble(
x = rnorm(40),
category = rep(c(0, 1), each = 20)
)
df_stats <-
df %>%
group_by(category) %>%
summarize(
mean = mean(x),
median = median(x)
) %>%
gather(key = key, value = value, mean:median)
df %>%
ggplot(aes(x = x)) +
geom_histogram(bins = 20) +
facet_wrap(~ category) +
geom_vline(data = df_stats, aes(xintercept = value, color = key))
![enter image description here](https://i.stack.imgur.com/8vxH4.png)