2013-12-07 70 views
2

繪製我有一個數據幀,看起來像這樣:使用的列因素中的R

> 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「個別月份數據的S,使用五個位點的因素。我想我可以把所有的數據放到一個列中,然後爲這個網站名稱添加一個新的列,但是我仍然需要以某種方式選擇個別的月份。我想知道,我是否真的需要重組我的數據,或者有什麼方法可以使用這些列作爲因素? 感謝您的幫助!

回答

5

如果重新排列你的數據幀將容易得多。這可以通過reshape2包來完成:現在

library(reshape2) 
DOData2 <- melt(DOData) 

,情節的創作很簡單:

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

enter image description here

+0

謝謝你把我介紹給了非常有用的'melt'功能!在熔化數據並重新命名列後,'qplot(Site,DO,data = DOData2 [Months ==「April」,],geom =「boxplot」)'給了我想要的陰謀。 –