ggplot Balkendiagramm mit facettenabhängiger Reihenfolge der Kategorien

Ich habe viele Fragen gesehen (oft verbunden mitBalken in Balkendiagramm ggplot2 bestellen) darüber, wie Kategorien in einem Balkendiagramm (neu) sortiert werden.

Was ich danach habe, ist nur ein Hauch anders, aber ich habe keinen guten Weg gefunden, es zu tun: Ich habe ein facettenreiches Balkendiagramm und ich möchte die x-Achse für jede Facette unabhängig nach einer anderen Variablen ordnen ( in meinem Fall ist diese Variable nur der y-Wert selbst, dh ich möchte nur, dass die Balken in jeder Facette länger werden.

Einfaches Beispiel, z.Balken in Balkendiagramm ggplot2 bestellen:

df <- data.frame(name=c('foo','bar','foo','bar'),period=c('old','old','recent','recent'),val=c(1.23,2.17,4.15,3.65))
p = ggplot(data = df, aes(x = reorder(name, val), y = val))
p = p + geom_bar(stat='identity')
p = p + facet_grid(~period)
p

Was wir bekommen, ist das Folgende:

Was ich will ist:

Antworten auf die Frage(4)

Ihre Antwort auf die Frage