R - 每天汇总到每周,开始日期为星期六
R - aggregate daily to weekly with start date as Saturday
我有每日数据,我想转换为每周,每周从星期六开始。
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)
我希望在星期六作为一周的开始汇总输出。
xts
调用中的 order.by
语句不符合 Date
class
的正确 format
data <- xts(df$value, order.by = as.Date(df$date, '%m/%d/%Y'))
tapply(data[,1], cumsum(format(index(data), '%w')==6), sum)
我有每日数据,我想转换为每周,每周从星期六开始。
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)
我希望在星期六作为一周的开始汇总输出。
xts
调用中的 order.by
语句不符合 Date
class
format
data <- xts(df$value, order.by = as.Date(df$date, '%m/%d/%Y'))
tapply(data[,1], cumsum(format(index(data), '%w')==6), sum)