Fügen Sie für jedes Feld in ggplot2 eine vertikale Linie mit unterschiedlichem Achsenabschnitt hinzu

Ich benutze ggplot2, um Panels von Histogrammen zu erstellen, und möchte in der Lage sein, eine vertikale Linie am Mittelwert jeder Gruppe hinzuzufügen. Geom_vline () verwendet jedoch für jedes Panel den gleichen Achsenabschnitt (d. H. Den globalen Mittelwert):

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")

Wie kann ich dafür sorgen, dass der Gruppenmittelwert der einzelnen Panels als x-Achsenabschnitt verwendet wird? (Bonuspunkte, wenn Sie auch eine Textbeschriftung durch die Zeile mit dem Wert des Mittelwerts hinzufügen können.)

Antworten auf die Frage(2)

Ihre Antwort auf die Frage