簡體   English   中英

在一個條形圖中創建多個條形圖

[英]Create multiple bar graphs in one bar graph

我有一個如下所示的數據集:

my_DataSet <- {
# 變量 A 變量 B 變量 C 控制組
1 1 0 0 1
2 1 1 0 1
3 0 0 1 0
}

在一個圖中 Plot 多個箱線圖之后,我進行了轉換( new_DataSet <- melt(my_DataSet, id.var = "Control_Group") ),因此結果數據如下所示:我有一個如下所示的數據集:

new_DataSet <- {
# 控制組 多變的 價值
1 1 變量 A 1
2 1 變量 B 0
3 1 變量 C 0
4 1 變量 A 1
5 1 變量 B 1
6 1 變量 C 0
7 0 變量 A 0
8 0 變量 B 0
9 0 變量 C 1
}

我想制作一個條形圖,顯示控制組和干預組中所有 3 個變量中 1 的百分比。

我想像下面的條形圖:

在此處輸入圖像描述

我所做的如下:

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

這導致:

在此處輸入圖像描述

哪個有兩個問題

  • 它只顯示Variable A ,而不是ABC
  • 我只想要 1 的百分比,而不是零的百分比。 但是,如果我事先過濾我的數據,比例就會出錯。

您可以獲得每列和每個對照組的比例以及條形圖 plot。

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')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM