Eine Umfrage mit 5 Fragen wird verwaltet. Die Fragen teilen die gleichen möglichen Antworten. Hier sind die Daten, die für das Plotten mit ggplot2 umgestaltet wurden.Gestapeltes Barplot x basierend auf Füllwerten mit ggplot2 neu anordnen
library(tidyr)
library(magrittr)
data <- data.frame(ID = c(1:500),
q1 = factor(sample(c(1:4), 500, replace = T),
labels = c("A", "B", "C", "D")),
q2 = factor(sample(c(1:4), 500, replace = T),
labels = c("A", "B", "C", "D")),
q3 = factor(sample(c(1:4), 500, replace = T),
labels = c("A", "B", "C", "D")),
q4 = factor(sample(c(1:4), 500, replace = T),
labels = c("A", "B", "C", "D")),
q5 = factor(sample(c(1:4), 500, replace = T),
labels = c("A", "B", "C", "D"))) %>%
gather(question, value, q1:q5)
Ich möchte die Reihenfolge der Fragen basierend auf der Anzahl einer bestimmten Antwort sortieren. Anstatt also diese ...
library(ggplot2)
ggplot(data, aes(x = question , fill = value)) +
geom_bar() +
theme(panel.background = element_rect(fill = "white")) +
scale_fill_manual("Value", values = c("#2171B5", "#6BAED6", "#BDD7E7",
"#EFF3FF"))
... möchte ich die Reihenfolge der Fragen entlang der x-Achse werden auf der Grundlage der Anzahl der Antwort = D, zum Beispiel.
Ich würde 1) precomputing die Menge im Voraus empfehlen; 2) Umsortierung durch Einstellung von 'scale_x_manual'. – tonytonov