将每周(7天)数据的数据帧聚合为R中的每月数据

时间:2016-03-30 14:40:21

标签: r time-series lapply zoo

此问题与aggregating weekly(7 day) data to monthly in R的这篇文章有关。我基本上想要运行相同的功能,但也跨列。但我无法理解。我的数据如下:

  start      end              X1      X2     X3 ...
1 2004-01-04 2004-01-10       54      63     10 ...
2 2004-01-11 2004-01-17       56      49     11 ...
3 2004-01-18 2004-01-24       46      39     11 ...
4 2004-01-25 2004-01-31       45      37     10 ...
5 2004-02-01 2004-02-07       39      31     11 ...
6 2004-02-08 2004-02-14       41      30     11 ...

我尝试了以下内容:

我尝试通过不在to.day中指定列来立即应用于整个数据框。 df[i,]遇到错误,df下方会回到所有NA值。

to.day<-function(i) with(df,zoo(df,seq(start[i],end[i],"day")))
z.day<-do.call(c,lapply(1:nrow(df),to.day))
z.day_df<-data.frame(z.day)
z.mon<-aggregate(z.day,as.yearmon,mean)

谢谢。

0 个答案:

没有答案