如何使用包含0和1之和的2列创建条形图?

时间:2016-12-08 21:12:40

标签: r ggplot2 geom-bar

我正在尝试使用ggplot2包做一个非常简单的条形图,但我失败了。 我想要有两根柱子,每根柱子一根。这将是我的x轴。然后我想拥有一种颜色的学习者和一种未学习的人数。所有这些人的总和将是我的y轴。并且锦上添花就是增加在每一栏的每个部分都学到而不是学到的人数。

所以这是我的数据集:

DataY
   Treatment Flock       ID Nb.participating Nb.above  Nb.ind Learned
1       Long    F2    bl4w4                6        4       0      No
2       Long    F2   g58b58                4        4       1     Yes
3       Long    F2  gy10cy8                5        2       0      No
4       Long    F2  p193y17                6        6       1     Yes
5       Long    F2   pu13g9                4        3       0      No
6       Long    F4   g57b57                6        6       1     Yes
7       Long    F4   g64b64                6        6       1     Yes
8       Long    F4  p149y89                4        3       0      No
9       Long    F4  p191y15                6        6       1     Yes
10      Long    F6 br73bl79                6        6       1     Yes
11      Long    F6 br91bl19                6        6       1     Yes
12      Long    F6  gy11cy9                6        6       1     Yes
13      Long    F6  p186y27                6        6       1     Yes
14      Long    F6   r68y48                6        6       1     Yes
15      Long    F8   g61b61                6        6       1     Yes
16      Long    F8   pu4756                5        5       1     Yes
17      Long    F8  pu66g66                4        1       0      No
18      Long    F8   r20y40                5        5       1     Yes
19      Long    F8   r66y46                6        6       1     Yes
20     Quick    F1  bl19r33                6        6       1     Yes
21     Quick    F1   g54b54                4        3       0      No
22     Quick    F1   gy2cy2                6        6       1     Yes
23     Quick    F1    pu4g4                6        6       1     Yes
25     Quick    F3  b25p163                5        5       1     Yes
26     Quick    F3   bl11r1                4        4       1     Yes
27     Quick    F3   g52b52                4        3       0      No
28     Quick    F3 gy13cy11                6        6       1     Yes
29     Quick    F3   pu9y49                5        3       0      No
30     Quick    F5   bl2r36                5        3       0      No
31     Quick    F5 br74bl80                6        2       0      No
32     Quick    F5   g53b53                5        5       1     Yes
33     Quick    F5  p167y47                6        6       1     Yes
34     Quick    F5  w64o162                6        6       1     Yes
35     Quick    F7   g63b63                5        4       0      No
36     Quick    F7  p141y86                5        5       1     Yes
37     Quick    F7  p184y25                6        5       0      No
38     Quick    F7  pu16y33                5        3       0      No
39     Quick    F7  y38gy61                5        4       0      No

这是我的代码:

ggplot(DataY, aes(x = Treatment, y = Nb.ind, fill = Learned)) + geom_bar(stat = "identity")

我那丑陋的画布

And my ugly barplot

我试图通过0替换Nb.ind中的0.9替换问题。我不喜欢这种方法,但我没有任何其他想法。请参阅我的新数据集:

DataY
   Treatment Flock       ID Nb.participating Nb.above  Nb.ind Learned
1       Long    F2    bl4w4                6        4       0.9    No
2       Long    F2   g58b58                4        4       1     Yes
3       Long    F2  gy10cy8                5        2       0.9    No
4       Long    F2  p193y17                6        6       1     Yes
5       Long    F2   pu13g9                4        3       0.9    No
6       Long    F4   g57b57                6        6       1     Yes
7       Long    F4   g64b64                6        6       1     Yes
8       Long    F4  p149y89                4        3       0.9    No
9       Long    F4  p191y15                6        6       1     Yes
10      Long    F6 br73bl79                6        6       1     Yes
11      Long    F6 br91bl19                6        6       1     Yes
12      Long    F6  gy11cy9                6        6       1     Yes
13      Long    F6  p186y27                6        6       1     Yes
14      Long    F6   r68y48                6        6       1     Yes
15      Long    F8   g61b61                6        6       1     Yes
16      Long    F8   pu4756                5        5       1     Yes
17      Long    F8  pu66g66                4        1       0.9    No
18      Long    F8   r20y40                5        5       1     Yes
19      Long    F8   r66y46                6        6       1     Yes
20     Quick    F1  bl19r33                6        6       1     Yes
21     Quick    F1   g54b54                4        3       0.9    No
22     Quick    F1   gy2cy2                6        6       1     Yes
23     Quick    F1    pu4g4                6        6       1     Yes
25     Quick    F3  b25p163                5        5       1     Yes
26     Quick    F3   bl11r1                4        4       1     Yes
27     Quick    F3   g52b52                4        3       0.9    No
28     Quick    F3 gy13cy11                6        6       1     Yes
29     Quick    F3   pu9y49                5        3       0.9    No
30     Quick    F5   bl2r36                5        3       0.9    No
31     Quick    F5 br74bl80                6        2       0.9    No
32     Quick    F5   g53b53                5        5       1     Yes
33     Quick    F5  p167y47                6        6       1     Yes
34     Quick    F5  w64o162                6        6       1     Yes
35     Quick    F7   g63b63                5        4       0.9    No
36     Quick    F7  p141y86                5        5       1     Yes
37     Quick    F7  p184y25                6        5       0.9    No
38     Quick    F7  pu16y33                5        3       0.9    No
39     Quick    F7  y38gy61                5        4       0.9    No

但现在我的颜色被ID分隔了,我的意思是该列就像每个ID的{​​{1}}列表而不是{{1}的总和(一块绿色)和顶部的Treatment(一块红色)。

更接近我正在寻找的东西......

Closer to what I am looking for...

任何帮助都将非常感谢!谢谢:))

0 个答案:

没有答案