如何根据R中的每个组显示ggplot分组条形图显示百分比?

时间:2017-10-05 10:08:36

标签: r ggplot2 percentage geom-bar

我有一个带有变量a的df,它包含两个字符串" stringA1"和" stringA2"。它还有一个变量b,它包含三个字符串" StringB1"," stringB2"和" stringB3"。

我需要的是一个按变量b分组的图表,显示" stringA1"的百分比。和" stringA2"在每个小组内。

我按照以下链接发布的建议:https://sebastiansauer.github.io/percentage_plot_ggplot2_V2/

并翻译为符合我的数据:

p <- ggplot(STW, aes(x=STW$Q071_3, group=STW$Q01))+
   geom_bar(mapping = aes(y = ..prop.., fill = factor(..x..), x=STW$Q071_3),   
   stat="count")+
   scale_y_continuous(labels=scales::percent)+
   facet_grid(~Q01)+
p  

然而,这给了我一个超过100%的图表,我找不到错误。

我尝试使用(..count..)/sum(..count..),但没有得到任何有用的结果。

我该如何解决这个问题?谢谢你,让我知道我是否应该发布更多信息 - 这是我在这里发表的第一篇文章,我希望简洁明了:)

提前谢谢!

1 个答案:

答案 0 :(得分:0)

经过大量尝试后,我从x=STW$移除了STW$group=STW$Q01,现在一切都运转正常,但我不知道原因。

这里是固定代码:

p <- ggplot(STW, aes(Q071_3, group=Q01))+
  geom_bar(aes(y = ..prop.., fill = factor(..x..)), stat="count")+
  scale_y_continuous(labels=scales::percent)+
  facet_grid(~Q01)
p