I want to sum all values for a variable for the past 3 months according to exact day for each ID. There might be 2 obs for some ID, 70 obs for another ID etc. For example, on April 15 I want to look all the way back to the January 16 and sum all values on this interval including January 16 and April 15. There could by 2 observations on this interval or even 70.

The window size is therefore never the same which means I can't use rollapply from the zoo package.

Here is a small example data with expected output. 

```
df <- structure(list(id = c(1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 3, 
3, 3, 3, 3, 3, 3, 3, 3), date = c("01/01/2015", "01/02/2015", 
"15/02/2015", "01/03/2015", "01/04/2015", "01/01/2015", "01/02/2015", 
"15/02/2015", "20/02/2015", "01/03/2015", "14/03/2015", "01/04/2015", 
"01/01/2015", "10/02/2015", "15/02/2015", "20/02/2015", "25/02/2015", 
"01/03/2015", "10/03/2015", "20/03/2015", "01/04/2015"), value = c(106, 
57, 43, 105, 180, 109, 36, 102, 97, 97, 113, 83, 178, 19, 80, 
167, 40, 5, 30, 124, 8), expected = c(106, 163, 206, 311, 385, 
109, 145, 247, 344, 441, 554, 528, 178, 197, 277, 444, 484, 489, 
519, 643, 473)), row.names = c(NA, -21L), class = c("tbl_df", 
"tbl", "data.frame"))

```