Суммируйте ваши данные, сгруппированные по неделям.Но используйте mutate()
, чтобы каждая строка получала суммарное значение.
df <- data.frame(date = as.Date("2018-01-01")+1:100,
value = sample(1:10,size = 100,replace = TRUE))
require(dplyr)
require(lubridate)
df %>% mutate(week = week(date)) %>%
group_by(week) %>%
mutate(summary = paste(round(mean(value),1),"(",n()," consecutive days starting ",min(date),")"))
дает
date value week summary
<date> <int> <dbl> <chr>
1 2018-01-02 3 1 4.7 ( 6 consecutive days starting 2018-01-02 )
2 2018-01-03 6 1 4.7 ( 6 consecutive days starting 2018-01-02 )
3 2018-01-04 1 1 4.7 ( 6 consecutive days starting 2018-01-02 )
4 2018-01-05 1 1 4.7 ( 6 consecutive days starting 2018-01-02 )
5 2018-01-06 10 1 4.7 ( 6 consecutive days starting 2018-01-02 )
6 2018-01-07 7 1 4.7 ( 6 consecutive days starting 2018-01-02 )
7 2018-01-08 2 2 4 ( 7 consecutive days starting 2018-01-08 )
8 2018-01-09 2 2 4 ( 7 consecutive days starting 2018-01-08 )
9 2018-01-10 5 2 4 ( 7 consecutive days starting 2018-01-08 )
10 2018-01-11 7 2 4 ( 7 consecutive days starting 2018-01-08 )