Я хочу создать визуализацию, показывающую расовую композицию 600 классных комнат в упорядоченном гистограмме. X будет классными комнатами, будет 600 вертикальных столбцов с процентами каждой расы, представленными разными цветами. Это будет отсортировано так, чтобы вы могли примерно увидеть, сколько классных комнат имеют определенный состав.
Проблема в том, что я не могу найти способ упорядочить ось х на основе нескольких переменных (сортировать по расе 1, затем расе, 2 и т. Д.).
Вот некоторый воспроизводимый код с тем, что я пробовал.
teacher <- c(rep("a", 6), rep("b", 10), rep("c", 6))
studentrace <- c(rep("blk", 3), rep("white", 6), rep("latinx", 3),
rep("blk", 7), rep("white", 3))
my.df <- data.frame(teacher, studentrace)
library(dplyr)
bars <- my.df %>%
group_by(teacher, studentrace) %>%
summarise(n=n()) %>%
mutate(percent=n/sum(n))
library(ggplot2)
ggplot(bars, aes(x=teacher, y=percent)) +
geom_col(aes(fill=studentrace))
#best solution so far, but won't sort using multiple variables
ggplot(bars, aes(x=reorder(teacher, PERCENTWHITE), y=percent)) +
geom_col(aes(fill=studentrace))
#where percent white is a variable I merged into my longform dataset
Вот что я получил ... но я хочу иметь возможность сортировать по x, затем y, затем z ...
(https://drive.google.com/file/d/1zDX5eRGZlo2vf33WNlz74ybWSuaxO8jp/view?usp=sharing)
Спасибо !!
