ggplot2是否排除了一些数据?

时间:2017-05-19 18:47:37

标签: r ggplot2 bar-chart errorbar

我想用ggplot2创建一些基本的分组条形图,但它似乎排除了一些数据。如果我查看我的输入数据,那么一切都在那里,但是有些条形图缺失了,而且它也在弄乱错误条。我试图转换成多个变量类型,重新组合,再次加载,保存.csv中的所有内容并加载所有新...我只是不知道有什么问题。

这是我的代码:

library(ggplot2)

limits <- aes(ymax = DataCm$mean + DataCm$sd,
          ymin = DataCm$mean - DataCm$sd)


p <- ggplot(data = DataCm, aes(x = factor(DataCm$Zeit), y = factor(DataCm$mean)
           ) )

p + geom_bar(stat = "identity",
         position = position_dodge(0.9),fill =DataCm$group) +
  geom_errorbar(limits, position = position_dodge(0.9),
            width = 0.25) +
  labs(x = "Time [min]", y = "Individuals per foodsource") 

这是DataCm:

  Zeit mean        sd group
1    30  0.1 0.3162278     1
2    60  0.0 0.0000000     2
3    90  0.1 0.3162278     3
4   120  0.0 0.0000000     4
5   150  0.1 0.3162278     5
6   180  0.1 0.3162278     6
7   240  0.3 0.6749486     1
8   300  0.3 0.6749486     2
9   360  0.3 0.6749486     3
10   30  0.1 0.3162278     4
11   60  0.1 0.3162278     5
12   90  0.2 0.4216370     6
13  120  0.3 0.4830459     1
14  150  0.3 0.4830459     2
15  180  0.4 0.5163978     3
16  240  0.3 0.4830459     4
17  300  0.4 0.5163978     5
18  360  0.4 0.5163978     6
19   30  1.2 1.1352924     1
20   60  1.8 1.6865481     2
21   90  2.2 2.0976177     3
22  120  2.2 2.0976177     4
23  150  2.0 1.8856181     5
24  180  2.3 1.9465068     6
25  240  2.4 2.0655911     1
26  300  2.1 1.8529256     2
27  360  2.0 2.1602469     3
28   30  0.2 0.4216370     4
29   60  0.1 0.3162278     5
30   90  0.1 0.3162278     6
31  120  0.1 0.3162278     1
32  150  0.0 0.0000000     2
33  180  0.1 0.3162278     3
34  240  0.1 0.3162278     4
35  300  0.1 0.3162278     5
36  360  0.1 0.3162278     6
37   30  1.3 1.5670212     1
38   60  1.5 1.5811388     2
39   90  1.5 1.7159384     3
40  120  1.5 1.9002924     4
41  150  1.9 2.1317703     5
42  180  1.9 2.1317703     6
43  240  2.2 2.3475756     1
44  300  2.4 2.3190036     2
45  360  2.2 2.1499354     3
46   30  2.1 2.1317703     4
47   60  3.0 2.2110832     5
48   90  3.3 2.1628171     6
49  120  3.2 2.1499354     1
50  150  3.4 2.6331224     2
51  180  3.5 2.4152295     3
52  240  3.7 2.6267851     4
53  300  3.7 2.4060110     5
54  360  3.8 2.6583203     6

输出是: Output

也许你可以帮助我。提前谢谢!

祝福, 本杰明

解决了它: 我重新塑造了Excel中的所有内容并以另一种方式导出。组变量也不是我想要的方式。现在它已修复,但我无法告诉你原因。

1 个答案:

答案 0 :(得分:0)

您的数据看起来格格不入。我想你希望每个时间点有6个不同的group值,但现在group变量只是循环,你有:

1    30  0.1 0.3162278     1
...
10   30  0.1 0.3162278     4
...
19   30  1.2 1.1352924     1
...
28   30  0.2 0.4216370     4

geom_bar然后可能省略具有相同平均值和时间的行。虽然我不确定为什么选择这样做,但你应该首先解决group问题。