将每周(7天)数据的数据帧聚合到R中的每月数据
这个问题与我的这个职位有关。我基本上想要运行相同的函数,但也要跨列运行。但我想不出来。我的数据如下:将每周(7天)数据的数据帧聚合到R中的每月数据,r,time-series,lapply,zoo,R,Time Series,Lapply,Zoo,这个问题与我的这个职位有关。我基本上想要运行相同的函数,但也要跨列运行。但我想不出来。我的数据如下: 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
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.dayto.day函数错误。看看它是如何在链接中完成的。是的,在链接中它被指定为一列,即X1[i],但在这里我想通过不使用名称来指定一列,以便以后可以在其他列中循环它,所以我使用了df[i,3],这也起作用,但当我更改为df[i,4]和X2[i](指同一列)时,我仍然得到了X1和df[,3]的每月值。所以我没能把专栏改到今天。谢谢格罗森迪克!我实际上尝试了df[I,3:ncol(df)],但它返回了所有NAs。然而,当我尝试df[I,3:5]时,它起了作用。所以我认为以前可能只有一个专栏引起了NAs的问题。
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)