【发布时间】:2017-09-23 20:28:21
【问题描述】:
我是 R 和 ggplot 的新手。而且我不确定我想要的是否可行。
这是我的(部分)数据:
> mdf
Batch A B C D E
1 G FALSE TRUE FALSE TRUE FALSE
2 G FALSE FALSE FALSE TRUE FALSE
3 G FALSE TRUE FALSE FALSE FALSE
4 G FALSE FALSE FALSE TRUE FALSE
5 G FALSE FALSE TRUE TRUE TRUE
6 G FALSE FALSE TRUE TRUE TRUE
7 G FALSE FALSE FALSE FALSE TRUE
8 G FALSE FALSE TRUE TRUE TRUE
9 G FALSE FALSE FALSE TRUE FALSE
10 G FALSE FALSE FALSE TRUE TRUE
11 G FALSE FALSE FALSE FALSE TRUE
12 G FALSE FALSE FALSE TRUE FALSE
13 G FALSE FALSE FALSE TRUE FALSE
14 G FALSE FALSE FALSE TRUE FALSE
15 G FALSE FALSE FALSE TRUE FALSE
16 G FALSE FALSE FALSE TRUE FALSE
17 G FALSE FALSE TRUE TRUE FALSE
18 G FALSE FALSE TRUE TRUE TRUE
19 A FALSE FALSE FALSE TRUE TRUE
20 A FALSE FALSE FALSE TRUE TRUE
其中 Batch 可以是 A、B、G、R、S 中的任何一个,而其他列 (A-E) 都是布尔值/逻辑值。
我能够创建一个图表来计算 B 列中的 TRUE 值,如下所示:
使用:
ggplot(data = mdf, aes(x = Batch, y = as.numeric(B), fill = Batch))
+ stat_summary(fun.y = sum, geom = "bar")
同样,我可以轻松地为其他列(A、C、D、E)再创建 4 个图表。
但是,是否可以将这 5 个图表“合并”在一个图表中?换句话说,我想要一个图表,其中我将有 5 个组(如上图)用于 'Batch' 的 5 个值,并且在每个组中,我需要一个单独的条形图,其中包含 5 列中的每一列的计数(AE)。这可行吗?
【问题讨论】:
-
阅读“从宽变长”和 position=dodge