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

How to have ggplot grouped bar graph showing percentages according to each group in R?

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

我需要的是按变量 b 分组并显示每个组中 "stringA1" 和 "stringA2" 的百分比的图表。

我听从了 post 在下面 link 上的建议: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..),但没有得到任何有用的结果。

我该如何解决这个问题?谢谢,让我知道是否应该 post 更多信息 - 这是我第一次 post 在这里制作,我希望简明扼要 :)

提前致谢!

经过多次尝试,我从 group=STW$Q01 中删除了 x=STW$STW$,现在一切正常,尽管我不知道原因。

这里是固定代码:

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