Como criar defasagens de uma variável no R

Análise de séries temporais frequentemente exige tratamentos e transformações dos dados, como a criação de defasagens (lag, no inglês) de uma variável. Podemos representar esse procedimento envolvendo o operador lag como:

Ou seja, quando aplicamos a defasagem em um elemento de yt o que obtemos é o valor anterior da série temporal.

No R este procedimento é bastante simples, sendo possível fazê-lo de mais de uma maneira diferente. Vamos a um exemplo prático!

Para reproduzir o exercício a seguir você precisará dos seguintes pacotes:


library(magrittr) # CRAN v2.0.1
library(dplyr) # CRAN v1.0.7
library(timetk) # CRAN v2.6.2
library(tsibbledata) # CRAN v0.2.0

Vamos usar a série temporal do crescimento anual do PIB brasileiro como exemplo. Esses dados estão disponíveis no pacote tsibbledata. Primeiro uma rápida visualização da série:


pib_br <- tsibbledata::global_economy %>%
dplyr::filter(Country == "Brazil") %>%
dplyr::select(Year, Growth)

pib_br %>%
timetk::plot_time_series(
.date_var = Year,
.value = Growth,
.title = "Brasil: crescimento anual do PIB",
.y_lab = "%",
.line_size = 2,
.smooth = FALSE,
.interactive = FALSE
)

O objeto que temos é do tipo data.frame com características de série temporal (tsibble), muito vantajoso para procedimentos de tratamento de dados usando tidyverse. Neste formato, para criar uma defasagem da variável podemos simplesmente adicionar uma coluna aplicando a função dplyr::lag na variável de interesse. Simples, não?


pib_br %>% dplyr::mutate(growth_lag1 = dplyr::lag(Growth))

Caso o usuário precise criar múltiplas defasagens de uma variável, não há problema. O pacote timetk possui a função tk_augment_lags() que facilita o trabalho, basta apontar uma sequência de lags a serem criados, por exemplo de 1 até 10:


pib_br %>% timetk::tk_augment_lags(Growth, .lags = 1:10)

 

Saiba mais:

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

Coletando dados para monitoramento climático com Python

As condições climatológicas influenciam desde a safra de grãos até a decisão de um vendedor ambulante levar seu carrinho para a praia ou não. Por sua importância e impactos na economia do país, neste exercício mostramos como coletar e elaborar análises de dados sobre o clima usando o Python.

Coletando dados de secas e queimadas no Brasil com Python

Neste artigo exploramos fontes públicas de dados sobre secas e queimadas no Brasil. Mostramos como acessar, coletar e preparar os dados para elaboração de análises. Usamos a linguagem Python para desenvolver uma rotina automatizada.

Como analisar demonstrações contábeis usando IA

Neste post, vamos explorar como utilizar o modelo de linguagem Gemini do Google para analisar demonstrações contábeis anuais da Eletrobras e extrair informações relevantes para tomada de decisão. Através de um código Python, vamos importar os dados direto da CVM, conectar com o Gemini e gerar resumos sobre as contas das demonstrações e perspectivas futuras sobre as finanças da empresa.

como podemos ajudar?

Preencha os seus dados abaixo e fale conosco no WhatsApp

Boletim AM

Preencha o formulário abaixo para receber nossos boletins semanais diretamente em seu e-mail.