【发布时间】:2019-03-04 00:07:20
【问题描述】:
我想创建一个如下所示的李克特图:
我的数据框中有两列 - 年龄和总体满意度,这两列都是因素。每个年龄段的人数不均。我想制作一个像上面那样的情节,但情节中的每个条形代表不同的年龄范围。上面的图是使用 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()
但我希望在中心和底部轴(coord_flip 后的 x)中设置中性点,以显示上面李克特示例中的百分比。
【问题讨论】:
-
请在解决方案中包含您的尝试(不在 cmets 中)并发布错误或不希望的结果。
-
请看上面:)