如何制作具有两个显示比例的分类变量的分组条形图?

鲍比

考虑如下数据集

Col1   Col2
A      BOY
B      GIRL
A      BOY
B      BOY
A      BOY
B      GIRL

这两列都是分类变量。我想为两个变量制作一个分组的条形图,使用position =“ fill”将Y轴显示为比例

我怎么做 ?

这就是我所拥有的

ggplot(aboveData, aes(x =col1, fill = col2)) + geom_bar(position = "fill")

这显示为堆积的条形图。我想分组。

笨狼

我们首先统计一下:

library(dplyr)
library(ggplot2)

df = structure(list(Col1 = structure(c(1L, 2L, 1L, 2L, 1L, 2L), .Label = c("A", 
"B"), class = "factor"), Col2 = structure(c(1L, 2L, 1L, 1L, 1L, 
2L), .Label = c("BOY", "GIRL"), class = "factor")), class = "data.frame", row.names = c(NA, 
-6L))

tab <- df %>% group_by(Col1,Col2,.drop=FALSE) %>% tally()

您不清楚按比例表示的意思。如果它在X变量中的比例(通常绘制),则:

tab %>% mutate(perc=n/sum(n)) %>% 
ggplot() + geom_col(aes(x=Col1,y=perc,fill=Col2),position="dodge") + 
scale_y_continuous(labels =scales::percent)

在此处输入图片说明

如果您指的是一切的一部分,那么:

tab %>% ungroup() %>% 
mutate(perc=n/sum(n)) %>% 
ggplot() + geom_col(aes(x=Col1,y=perc,fill=Col2),position="dodge") + 
scale_y_continuous(labels =scales::percent)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何按两个变量分组的条形图

ggplot2条形图,带有两个分类变量

如何更改条形图的顺序(两个分类变量)

如何制作带有并排两个 y 变量和标准误差的条形图

如何绘制两个相邻的分组条形图

R:具有两个分组顺序和三列数据的堆叠条形图

如何通过在 x 轴上使用两个变量和在 y 轴上使用分组变量来制作条形图?

如何制作每个 X 轴项目有两个值的垂直条形图

如何制作x轴上有两个类别的堆积条形图?

条形图的两个问题顺序以及在轴上显示的离散比例

如何绘制具有3个变量的条形图?

熊猫:具有两个条和两个y轴的条形图

为按两个变量分组的数据框绘制堆积条形图

如何制作带有嵌套分组变量的堆积条形图?

Seaborn:如何为每个组创建一个带有两个变量的条形图?

如何在R中用单个x轴绘制两个分组的条形图(垂直)?

如何制作分组条形图

并排显示数据框中两个变量的条形图

带两个变量的条形图

两个类别变量的R条形图

ggplot条形图并排使用两个变量

如何在R的同一图上创建具有不同x和y轴的两个条形图?

显示两个向量差异的条形图

使用辅助轴线图制作分类或分组条形图

对具有两个级别ggplot2的堆叠条形图进行重新排序

具有两个关键DataFrame的堆叠条形图

具有两个y轴的Seaborn条形图

R:绘制具有两个条件的个人百分比的条形图

以并排的条形图绘制两个具有相同列名的数据框