使用列作为R中绘图的因子

时间:2013-12-07 22:36:34

标签: r ggplot2 dataframe boxplot factors

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

> head(DOData)
    Date        Site1 Site2  Site3   Site4  Site5  Months
1   1/1/2012    1.07  3.32   11.35   6.26   5.39   January
2   1/2/2012    1.24  3.08   10.69   6.57   6.59   January
3   1/3/2012    1.94  2.69   11.86   6.23   6.23   January
4   1/4/2012    0.81  3.50   11.47   4.67   5.94   January
5   1/5/2012    1.41  3.11   10.38   7.44   5.40   January
6   1/6/2012    2.73  3.28   11.11   6.15   6.22   January
.
.
.
361 12/26/2012  3.54  3.86   12.67   5.44   6.03   December
362 12/27/2012  2.05  3.42   10.27   6.05   7.10   December
363 12/28/2012  3.59  2.96   11.10   6.71   5.68   December
364 12/29/2012  1.81  3.57   11.20   7.20   7.71   December
365 12/30/2012  4.03  2.00   11.07   7.15   5.93   December
366 12/31/2012  1.93  2.03   11.90   6.06   8.46   December

即。 5个站点的一年数据,每天一行。

我想使用五个网站作为因素,为个别月份创建一些ggplot2 boxplot的数据。我想我可以将所有数据放入一个列中,然后为站点名称添加一个新列,但是我仍然需要以某种方式选择单个月份。我想知道,我真的需要重新组织我的数据,还是有一些方法可以使用列作为因素? 谢谢你的帮助!

1 个答案:

答案 0 :(得分:5)

如果重新排列数据框,将会更容易。这可以使用reshape2包完成:

library(reshape2)
DOData2 <- melt(DOData)

现在,情节的创建很简单:

library(ggplot2)
ggplot(DOData2) +
  geom_boxplot(aes(y = value, x = Months, colour = variable))

enter image description here