[英]ggplot: Percentages when using facet_wrap()
我有以下示例数据集:
library(tidyverse)
df <- data.frame(var1 = c("A", "B", "A", "B", "C", "A", "B", "A", "A", "B", "A"),
var2 = c("B", "B", "A", "B", "C", "A", "B", "B", "A", "A", "C"),
var3 = c("A", "B", "A", "C", "C", "A", "C", "C", "C", "C", "A"))
现在我想将三个变量绘制为彼此相邻的条形图:
# Absolute values
df %>% pivot_longer(cols=c(var1, var2, var3)) %>%
ggplot(aes(value)) + geom_bar(fill='lightblue', color='black') + facet_wrap(.~ name) + coord_flip()
当我需要绝对数字时,我可以轻松做到这一点。 但我不知道如何分别获得每个变量(var1、var2、var3)的百分比,以便每个条形图的值总和为 100%。
在下图中,所有三个图中的条形总和为 100%。
# Percentages (not what I want)
df %>% pivot_longer(cols=c(var1, var2, var3)) %>%
ggplot(aes(value)) + geom_bar(aes(y = (..count..)/sum(..count..)*100), fill='lightblue', color='black') +facet_wrap(.~name) + coord_flip()
有谁知道如何做到这一点?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.