ggplot2 - geom_boxplot mit position = dodge kommentieren (beschriften)

Ich kann keine Beschriftungen (in diesem Fall die Stichprobengröße) in der Nähe des Boxplots hinzufügen, wenn ich die Füllästhetik verwende (oder den Stichproben auf der x-Achse ausweichen).

Für den am häufigsten verwendeten Datensatz (mtcars) und das am häufigsten verwendete Beispiel funktioniert es einwandfrei

library(ggplot2)

fun_length <- function(x){
  return(data.frame(y=median(x),label= paste0("n=", length(x))))
}

ggplot(mtcars, aes(factor(cyl), mpg)) +
  geom_boxplot() +
  stat_summary(aes(x = factor(cyl)),
               fun.data = fun_length, geom = "text",
               vjust = +1, size = 4)

library(plyr)
ddply(mtcars, .(cyl), summarise, label = length(mpg))

  cyl label
1   4    11
2   6     7
3   8    14

Ich kann jedoch nicht die gleichen Bezeichnungen für diese Version hinzufügen, da jetzt die Stichprobengrößen für jede vs-Ebene angezeigt werden.

ggplot(mtcars, aes(factor(cyl), mpg)) +
  geom_boxplot(aes(fill = factor(vs))) +
  stat_summary(aes(x=factor(cyl)),
               fun.data = fun_length, geom = "text")

ddply(mtcars, .(cyl, vs), summarise, label = length(mpg))

  cyl vs label
1   4  0     1
2   4  1    10
3   6  0     3
4   6  1     4
5   8  0    14

Jede Hilfe ist willkommen. Danke im Voraus.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage