Постройте горизонтальную линию с учетом пика плотности графика - R - PullRequest
0 голосов
/ 01 ноября 2019

У меня есть этот график:

airquality %>% 
ggplot(aes(x=Ozone)) +
geom_density() +
facet_wrap(~Month, scales="free")

Где для каждого графика мне нужно построить горизонтальную линию в середине каждой оси Y (которая является пиком графика плотности, разделенного на два,или значение X, которое больше всего повторяется (режим). Итак, я пытался с этим:

Mode <- function(x) {
  ux <- unique(x)
  ux[which.max(tabulate(match(x, ux)))]
}

И добавление этой линии на график выше:

geom_hline(aes(yintercept=Mode(Ozone)))

Однако, эта горизонтальная линия равна 0 для всех графиков. Почему? Как добавить горизонтальную линию для каждого графика в середине оси Y (пик плотности делится на два)?

...