Use stat_summary para anotar el gráfico con el número de observaciones
Como puedo usarstat_summary
para etiquetar una parcela conn = x
dónde estáx
¿una variable? Aquí hay un ejemplo de la salida deseada:
Puedo hacer que el gráfico anterior con este código bastante ineficiente:
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]]) ))
Este es un seguimiento de esta pregunta:¿Cómo agregar un número de observaciones por grupo y usar la media de grupo en ggplot2 boxplot? donde puedo usarstat_summary
para calcular y mostrar el número de observaciones, pero no he podido encontrar una manera de incluirn =
en elstat_summary
salida. Parecestat_summary
Puede ser la forma más eficiente de hacer este tipo de etiquetado, pero otros métodos son bienvenidos.