У меня есть кадр данных следующим образом:
Name,Tutor,Test,Score,Percent,school.year
Mark,Eric,Maths,100,100,2
Mark,Eric,English,91,91,2
Sue,Richard,Maths,88,100,5
Sue,Richard,English,71,80.7,5
Я хотел бы отобразить проценты по оси y и имя по оси x с полосами для каждого теста. Мой код делает график так, как я хотел бы, но метка оси X — это просто имя. Я хотел бы добавить другие переменные (только к метке) по оси x. Так, например, отметьте с помощью 2 полос; 1 по математике и 1 по английскому, на его метке по оси X также написано «отметить» «\n» «Эрик», чтобы мы могли видеть, кто его обучал. Если возможно, я хотел бы добавить несколько дополнительных меток, таких как учебный год. Мой код пока выглядит следующим образом:
results <- read.csv('results.csv')
p <- ggplot(results, aes(y=Percent, x=Name, colour=Test, fill=Test)) +
geom_bar(stat='identity', position='dodge') +
ggtitle('Test Results') +
ylab('Percent')
Я могу построить одну переменную как метку оси X, например:
+scale_x_discrete(labels = results$Score)
либо менять их вручную (хотя бывают проблемы с порядком);
scale_x_discrete(labels = c('Марк \n Эрик', 'Сью \n Ричард' и т. д.))
Есть ли способ добавить другие переменные к x-меткам, в идеале с разрывами строк? Большое спасибо