Я хочу создать график Лайкерта, который выглядит следующим образом:
У меня есть два столбца в моем фрейме данных - Возраст и Общее удовлетворение, обаиз которых факторы.В каждой возрастной группе количество людей неодинаково.Я хочу создать график, подобный представленному выше, но с каждым столбцом на графике, представляющим различный возрастной диапазон.Приведенные выше графики были созданы с пакетом likert
, но, похоже, у него не может быть разное количество респондентов.
df <- structure(list(Age = c("50-55 yrs", "35-40 yrs", "25-30 yrs",
"45-50 yrs", "45-50 yrs", "20-25 yrs", "55-60 yrs", "55-60 yrs",
"50-55 yrs", "45-50 yrs", "50-55 yrs", "55-60 yrs", "55-60 yrs",
"65+ yrs", "60-65 yrs", "55-60 yrs", "35-40 yrs", "50-55 yrs",
"45-50 yrs", "40-45 yrs", "45-50 yrs", "40-45 yrs", "30-35 yrs",
"40-45 yrs", "45-50 yrs", "45-50 yrs", "30-35 yrs", "50-55 yrs",
"40-45 yrs", "25-30 yrs"), OverallSatisfaction = c("Dissatisfied",
"Dissatisfied", "Satisfied", "Very Dissatisfied", "Satisfied",
"Neutral", "Dissatisfied", "Very Dissatisfied", "Very Dissatisfied",
"Very Dissatisfied", "Very Dissatisfied", "Satisfied", "Satisfied",
"Satisfied", "Satisfied", "Satisfied", "Neutral", "Neutral",
"Neutral", "Neutral", "Dissatisfied", "Dissatisfied", "Dissatisfied",
"Dissatisfied", "Dissatisfied", "Dissatisfied", "Dissatisfied",
"Neutral", "Dissatisfied", "Neutral")), row.names = c(NA, 30L
), class = "data.frame")
Как я могу разделить столбцы по уровням в пределах фактора либо впакет likert
или ggplot2
?
Я пробовал следующее:
ggplot(AgeSat.df, aes(y = OverallSatisfaction, x = Age), position = "stack") +
geom_col(aes(fill = OverallSatisfaction)) +
coord_flip()
, но я хотел бы, чтобы нейтральные точки располагались в центре и нижней оси (xпосле ord_flip) отобразить проценты, как в приведенном выше примере likert.