计算Zoo对象的每小时平均值

时间:2016-01-13 16:36:07

标签: r xts zoo

我有以下内容:

Lines <- "D1,Diff
1,20/11/2014 16:00,0.01
2,20/11/2014 17:00,0.02
3,20/11/2014 18:00,0.03
4,21/11/2014 16:00,0.04
5,21/11/2014 17:00,0.06
6,21/11/2014 18:00,0.07"

z <- read.zoo(text = Lines, tz = "", format = "%d/%m/%Y %H:%M", sep = ",")
ep <- endpoints(z,'hours')
a<-period.apply(z,ep,mean)

我想创建一个新的Zoo对象,每小时将有相同小时的Diff的平均值。所需的结果将是:

16:00,0.025
17:00,0.03
18:00,0.05

a的内容:

> a
    2014-11-20 16:00:00 2014-11-20 17:00:00 2014-11-20 18:00:00 2014-11-21 16:00:00 2014-11-21 17:00:00 2014-11-21 18:00:00 
                   0.01                0.02                0.03                0.04                0.06                0.07 

1 个答案:

答案 0 :(得分:0)

两种方式:

  1. Zoo对象:

      

    b&lt; -aggregate(z,hour(index(z)),mean)   b      16 17 18   0.025 0.040 0.050   (b)类   [1]&#34;动物园&#34;

  2. 转换为数据帧:

      

    a&lt; -aggregate(z~小时(指数(z)),FUN =&#39;意思是&#39;)   一个     小时(指数(z))z   1 16 0.025   2 17 0.040   3 18 0.050   上课(一)   [1]&#34; data.frame&#34;