Я пытаюсь составить графическое изображение результатов тестов 50 учеников. Моей конечной целью было бы создать 50 вариаций гистограммы, по одной для каждого учащегося, с указанием только имени одного учащегося на оси, чтобы он / она могли видеть, как они сравниваются с другими, не раскрывая, кто что набрал. На фотографии ниже я хотел бы поставить «Джексон» на первый столбец, а остальные оставить пустым для первого варианта. Второй будет иметь только «Смит» и т. Д. Кроме того, я хотел бы разделить данные на основе их год в школе, переменная «уровень».
names <- c("Jackson", "Smith", "Johnson", "Richards", "Matthews", "Redmond", "Phillips")
scores <- c(.99, .65, .73, .89, .88, .92, .87)
level <- c(10,11,10,11,11,11,11)
grades <- cbind.data.frame(names, scores, level)
Gradesplit <- split(grades, grades$level)
plotdata <- function(grades) {
ggplot(data = grades, aes(x = names, y = scores, fill = scores))+
geom_bar(stat = "identity", position = "dodge")+
theme(axis.text.x=element_text(angle= 45, vjust=.5)) +
ggtitle("test scores by level- February 2018", grades$level)}
lapply(Gradesplit, plotdata)