按时间间隔汇总

时间:2012-07-16 12:35:43

标签: r time-series

我想分析一下R

中的一些测量数据
> head(data)
                 Time     Val
1 2011-12-01 10:11:21      20
2 2011-12-01 10:11:24       0
3 2011-12-01 10:11:24      30
4 2011-12-01 10:11:25       0
5 2011-12-01 10:11:29      80
6 2011-12-01 10:13:31       0

我使用Zoo和as.Date进行了实验,但没有一个能够回答以下问题:

  1. 如何在一天中的24小时内每分钟绘制一个直方图?
  2. 如何计算和绘制每天的平均值(不是一个月的日期,而是一天的一天)?

2 个答案:

答案 0 :(得分:6)

获取?aggregate?cut.Date的帮助。

类似的东西:

aggregate (z, format (index (z), "%M"), sum)

aggregate (z, cut (as.Date (index (z)), breaks="day"), mean)

答案 1 :(得分:2)

plyr包非常适合这项任务。这里有一些指南:http://plyr.had.co.nz 您应该为要分别分析的每个期间分配一个因子变量的值 - 我不知道快捷方式,因此您可以尝试将substr()应用于您的Time变量。然后使用plyr将不同的函数(如mean())应用于每个组。对于绘图,您可以使用来自同一作者或格子的ggplot包。