如何让 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
我有一个 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