Estoy usando ggplot2 para crear paneles de histogramas, y me gustaría poder agregar una línea vertical en la media de cada grupo. Pero geom_vline() utiliza la misma intersección para cada panel (es decir, la media global):Agregue una línea vertical con intersección diferente para cada panel en ggplot2
require("ggplot2")
# setup some sample data
N <- 1000
cat1 <- sample(c("a","b","c"), N, replace=T)
cat2 <- sample(c("x","y","z"), N, replace=T)
val <- rnorm(N) + as.numeric(factor(cat1)) + as.numeric(factor(cat2))
df <- data.frame(cat1, cat2, val)
# draws a single histogram with vline at mean
qplot(val, data=df, geom="histogram", binwidth=0.2) +
geom_vline(xintercept=mean(val), color="red")
# draws panel of histograms with vlines at global mean
qplot(val, data=df, geom="histogram", binwidth=0.2, facets=cat1~cat2) +
geom_vline(xintercept=mean(val), color="red")
¿Cómo puedo conseguir que se utilice el grupo de cada panel significa que la intersección x? (Puntos de bonificación si también puede agregar una etiqueta de texto por la línea con el valor de la media.)