dplyr, lubridate: como agregar um dataframe por semana?
Considere o seguinte exemplo
library(tidyverse)
library(lubridate)
time <- seq(from =ymd("2014-02-24"),to= ymd("2014-03-20"), by="days")
set.seed(123)
values <- sample(seq(from = 20, to = 50, by = 5), size = length(time), replace = TRUE)
df2 <- data_frame(time, values)
df2 <- df2 %>% mutate(day_of_week = wday(time, label = TRUE))
Source: local data frame [25 x 3]
time values day_of_week
<date> <dbl> <fctr>
1 2014-02-24 30 Mon
2 2014-02-25 45 Tues
3 2014-02-26 30 Wed
4 2014-02-27 50 Thurs
5 2014-02-28 50 Fri
6 2014-03-01 20 Sat
7 2014-03-02 35 Sun
8 2014-03-03 50 Mon
9 2014-03-04 35 Tues
10 2014-03-05 35 Wed
Eu gostaria de agregar esse quadro de dadospor semana.
Ou seja, suponha que eu defina uma semana como iniciando na segunda-feira de manhã e terminando na noite de domingo, que chamaremos deMonday to Monday
ciclo. (importante, quero poder escolher outras convenções, como sexta-feira a sexta-feira, por exemplo).
Gostaria simplesmente de contar a média devalues
para cada semana.
Por exemplo, no exemplo acima, calcularíamos a média devalues
entre segunda-feira, 24 de fevereiro e domingo, 2 de março, e assim por diante.
Como eu posso fazer isso?
Obrigado!
EDIT: obrigado a todos vocês que contribuíram com uma ideia. Um tanto incomum, acho que minha solução tardia provavelmente é mais apropriada aqui. Obrigado novamente!