Используйте stat_summary, чтобы комментировать график с количеством наблюдений

Как я могу использоватьstat_summary обозначить сюжетn = x гдеx Переменная? Вот пример желаемого результата:

Я могу сделать этот сюжет с помощью этого довольно неэффективного кода:

nlabels <- sapply(1:length(unique(mtcars$cyl)), function(i) as.vector(t(as.data.frame(table(mtcars$cyl))[,2][[i]])))
ggplot(mtcars, aes(factor(cyl), mpg, label=rownames(mtcars))) +
  geom_boxplot(fill = "grey80", colour = "#3366FF") + 
  geom_text(aes(x = 1, y = median(mtcars$mpg[mtcars$cyl==sort(unique(mtcars$cyl))[1]]), label = paste0("n = ",nlabels[[1]]) )) +
  geom_text(aes(x = 2, y = median(mtcars$mpg[mtcars$cyl==sort(unique(mtcars$cyl))[2]]), label = paste0("n = ",nlabels[[2]]) )) +
  geom_text(aes(x = 3, y = median(mtcars$mpg[mtcars$cyl==sort(unique(mtcars$cyl))[3]]), label = paste0("n = ",nlabels[[3]]) )) 

Это продолжение этого вопроса:Как добавить количество наблюдений на группу и использовать среднее значение для группы в ggplot2 boxplot? где я могу использоватьstat_summary рассчитать и отобразить количество наблюдений, но я не смог найти способ включитьn = вstat_summary выход. Похоже наstat_summary может быть самым эффективным способом сделать такую маркировку, но приветствуются другие методы.

Ответы на вопрос(2)

Ваш ответ на вопрос