2016-11-15 113 views
2

我有每日数据,我想在星期六开始时将每周数据转换为星期。R - 以星期六为开始日期的每日汇总到每周汇总

date value 
1 11/5/2016 30 
2 11/6/2016 20 
3 11/7/2016 12 
4 11/8/2016 22 
5 11/9/2016 48 
6 11/10/2016 50 
7 11/11/2016 47 
8 11/12/2016 12 
9 11/13/2016 19 
10 11/14/2016 31 
11 11/15/2016 43 
12 11/16/2016 26 
13 11/17/2016 33 
14 11/18/2016 36 
15 11/19/2016 14 
16 11/20/2016 15 
17 11/21/2016 36 
18 11/22/2016 38 
19 11/23/2016 28 
20 11/24/2016 21 
21 11/25/2016 13  

我尝试以下,但它假定在周一

data = as.xts(df$value,order.by=as.Date(df$date)) 
weekly = apply.weekly(data,sum) 

周开始我要输出到星期六聚集的开始一周。

回答

2

xts调用的order.by说法是不正确的用的Dateformat

data <- xts(df$value, order.by = as.Date(df$date, '%m/%d/%Y')) 
tapply(data[,1], cumsum(format(index(data), '%w')==6), sum) 
+0

但这只是给cumsum总数的矩阵。您如何获得与值列表关联的每周偏移日期标签? – JoeM05

+1

@ JoeM05你可以发表一个关于这个问题 – akrun