在一个条形图中创建多个条形图

Create multiple bar graphs in one bar graph

我有一个如下所示的数据集:

my_DataSet <- {
# Variable A Variable B Variable C Control Group
1 1 0 0 1
2 1 1 0 1
3 0 0 1 0
}

Plot multiple boxplot in one graph 之后,我进行了一次转换 (new_DataSet <- melt(my_DataSet, id.var = "Control_Group")),结果数据如下所示: 我有一个如下所示的数据集:

new_DataSet <- {
# Control Group variable value
1 1 Variable A 1
2 1 Variable B 0
3 1 Variable C 0
4 1 Variable A 1
5 1 Variable B 1
6 1 Variable C 0
7 0 Variable A 0
8 0 Variable B 0
9 0 Variable C 1
}

我想制作一个条形图,显示控制组和干预组中 1 在所有 3 个变量中所占的百分比。

我想像下面的条形图:

我所做的如下:

p <- ggplot(data = my_DataSet)
p + geom_bar(mapping = aes(x = Variable_A, y = ..prop.., fill = Control_Group), position = "dodge")

这导致:

其中有两个问题

您可以获得每列和每个控制组的比例并绘制条形图。

library(tidyverse)

my_DataSet %>%
  pivot_longer(cols = -Control_group) %>%
  group_by(name, Control_group = recode(Control_group, 
                 '1' = 'control', '0' = 'intervention')) %>%
  summarise(value = mean(value)) %>%
  ggplot() + aes(name, value, fill = Control_group) + 
  geom_bar(stat = 'identity', position = 'dodge')