Lidando com datas trimestrais no R

Para quem está começando no R, pode ser um pouco chato lidar com datas. Por exemplo, imagine que você queira lidar com dados trimestrais e queira plotar um gráfico com o eixo x em trimestres e não em anos ou em meses, por exemplo. Para ilustrar o problema, considere essa planilha do IPEA que contém dados do PIB efetivo e do PIB potencial construído através do método da função de produção. Nós ensinamos a lidar com esse tipo de dado nos laboratórios do nosso curso de Teoria Macroeconômica.

Nós podemos importar essa planilha para o R através do pacote readxl, que vemos no nosso Curso de Introdução ao R para Análise de Dados. No código abaixo, nós carregamos outros pacotes que utilizaremos para tratar os dados e também para criar o nosso gráfico.


library(readxl)
library(zoo)
library(lubridate)
library(tidyverse)
data = read_excel('CC45_Produto-Potencial_série-completa.xlsx',
range='A2:D109')

Feita a importação dos dados, teremos um tibble com a primeira coluna sendo um vetor de caracteres e não uma data, como queremos. Para que possamos dizer para o R que a primeira coluna é, na verdade, uma data trimestral, precisaremos fazer algumas modificações. Primeiro, vamos usar a função gsub para substituir o 'T' por 'zero'. Depois utilizamos a função sub para acabar com o espaço entre o ano e o "TX". Feito isso, podemos usar a função as.yearqtr do pacote zoo para, finalmente, transformar a nossa data em trimestres. O código a seguir operacionaliza.


data$Trimestre = as.yearqtr(sub(' ', '', gsub('T', '0', data$Trimestre)),
format='%Y%q')

Uma vez feito isso, você poderá reparar que o R transformou a nossa coluna em uma classe que representa dados trimestrais. Assim, estamos prontos para criar um gráfico como abaixo.


colnames(data) = c('date', 'potencial', 'pib', 'hiato')
ggplot(data, aes(x=date, y=hiato*100))+
geom_line()+
geom_hline(yintercept=0, colour='red', linetype='dashed')+
scale_x_yearqtr(breaks = seq(from = min(data$date),
to = max(data$date),
by = 1),
format = "%YQ%q")+
theme(axis.text.x=element_text(angle=45, hjust=1),
plot.title = element_text(size=10, face='bold'))+
labs(x='', y='',
title='Hiato do Produto',
caption='Fonte: IPEA')

Pronto!

____________________

(*) Isso e muito mais você aprende em nosso Curso de Introdução ao R para Análise de Dados.


Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

Como usar Modelos de Linguagem no R com o pacote {elmer}

Na análise de dados contemporânea, o uso de Modelos de Linguagem (LLMs) vem se consolidando como uma ferramenta poderosa para automatizar e aprimorar tarefas analíticas. Ao integrarmos LLMs a pacotes como o ellmer, podemos ampliar nossas capacidades de extração, interpretação e automação de dados no ambiente R. Neste post, exploramos o papel desses modelos e detalhamos como o ellmer opera dentro do universo da linguagem de programação R.

Introdução ao AutoGen: Agentes Inteligentes na Análise Financeira

O AutoGen é um framework da Microsoft que permite criar agentes de IA colaborativos. Na área financeira, pode automatizar a coleta de dados, cálculos de indicadores e geração de relatórios. Este artigo apresenta os conceitos básicos e um exemplo aplicado a ações de empresas.

Como usar LangGraph e LLMs para prever a inflação no Brasil

Este post apresenta um estudo de caso sobre como utilizar o LangGraph e modelos de linguagem para estruturar um sistema multiagente voltado à previsão do IPCA. O exercício cria um sistema que utiliza-se de personas analíticas que trabalham em paralelo, permitindo validar previsões, calcular métricas de erro e consolidar relatórios automatizados. A abordagem demonstra como fluxos multiagentes podem apoiar a análise econômica, oferecendo múltiplas perspectivas e maior consistência nos resultados.

Boletim AM

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais e conteúdos exclusivos sobre Análise de Dados!

Boletim AM

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais e conteúdos exclusivos sobre Análise de Dados!

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.