Calcule todas as médias fixas da janela com dplyr e RcppRoll
Eu gostaria de calcular todas (ou pelo menos muitas) médias de janela fixa usando dplyr e RcppRoll. Por exemplo, se eu quiser calcular a velocidade média do vento a partir dostorms
dados para os 4, 5 e 6 timestados anteriores, posso usar o seguinte:
library(dplyr)
library(RcppRoll)
set.seed(1)
storms <- storms[storms$name %in% sample(storms$name, size = 4),]
storms %>%
select(name, year, month, day, hour, wind) %>%
group_by(name) %>%
arrange(name, year, month, day, hour) %>%
mutate_at("wind", .funs = funs(
"avg_4" = roll_meanr(., n = 4, fill = NA),
"avg_5" = roll_meanr(., n = 5, fill = NA),
"avg_6" = roll_meanr(., n = 6, fill = NA)
))
Isso funciona, no entanto, se eu quisesse calcular todas as médias de janelas fixas para janelas de 2 a 20, eu me cansaria de copiar e colar as linhas dentro defuns()
.
Parece que eu deveria ser capaz de parametrizar isso de alguma forma, mas ainda não descobri como.