rstats

Como obter rolling windows de maneira rápida e eficiente

No post anterior, apresentei uma forma bastante conveniente de generalizar ações dispensando for-loops tradicionais. A abordagem permite eliminar indexações trabalhosas e organizar os objetos de maneira bem prática. Outra tarefa muito presente no dia-a-dia de quem trabalha com dados é obter versões em janela móvel para alguma função. O exemplo mais simples seria a média móvel, a qual conta com implementações eficientes em diversos pacotes – eu recomendo o RcppRoll que, além da média móvel, também computa outras estatísticas.

Usando tidyr para criar dummies e lags

Imagine que você tenha uma base de dados com dezenas (ou centenas) de variáveis e quer criar os lags de 1 a 5 para cada uma destas variáveis. Além disso, precisa adicionar dummies mensais para controlar algum fator sazonal. Esta tarefa faz parte do dia-a-dia de quem trabalha com modelos econométricos/machine learning e ter uma forma prática ajuda bastante. Existem algumas formas de resolver esse problema. Uma bem simples e prática envolve o tidyr, pacote do tidyverse dedicado à manipulação de frames.