Tabelas bem formatadas com o pacote {gt}

gt é um pacote de R para gerar tabelas bem formatadas, usando uma gramática/sintaxe intuitiva. Neste texto exploramos como construir tabelas que prendem a atenção do leitor, partindo de um exemplo básico a um exemplo avançado.

Prévia da tabela a ser construída:

Pacotes

Para reproduzir os códigos certifique-se de que tenha os seguintes pacotes de R instalados:

Preparar dados

Vamos começar primeiro preparando alguns dados para o exercício. Utilizaremos novamente dados de inflação provenientes da base de dados da OECD, já abordados anteriormente aqui. Além disso, utilizaremos alguns arquivos de imagens que são os PNGs com as bandeiras de alguns países. Essas imagens serão utilizadas na tabela, conforme visto acima.

O código abaixo realiza o download do arquivo ZIP de imagens para uma pasta temporária, descompacta o arquivo, coleta dados de inflação de países selecionados da OECD e realiza tratamentos necessários.

Tabela simples

Com os dados preparados, vamos ao primeiro exemplo básico gerando uma tabela com o gt:

Com uma única função o gt cria uma tabela de dados através de um data frame ou tibble! Mas podemos deixá-la mais informativa, colocando título, subtítulo, fonte, nomes de colunas, etc.:

Muito melhor, não? Mas ainda podemos melhorar, formatando os valores das células para 2 casas decimais com sufixo, além de criar um mapa de calor nas colunas numéricas:

Tabela estilizada

Agora que já exploramos o básico das funcionalidades do pacote gt, chegando a uma tabela mais "apresentável", vamos avançar mais uns passos para construir a tabela final que apresentamos logo no início.

O objetivo agora é adicionar em nossa tabela básica duas coisas: (1) uma linha de tendência que demonstra o comportamento da taxa de inflação de 2018 em diante e (2) as bandeiras de cada país.

Para as linhas de tendência, recurso que é chamado de "sparkline", primeiro criamos um objeto lista que vai armazenar vetores com os dados da taxa de inflação (% a.a.) de cada país. São esses vetores da lista que formarão as linhas de tendência, que serão lidos e interpretados pela função gt_sparklines que criamos na sequência. Essa função transformará os valores de uma determinada coluna de um objeto gt em sparklines usando dados externos (lista de vetores).

Já para adicionar as imagens de bandeiras de cada país usamos a função text_transform em conjunto com a função local_image, que farão a leitura do caminho para os arquivos de imagens informado na coluna flags e transformarão essa coluna com a renderização das imagens.

Abaixo colocamos o código completo, contemplando o que foi visto acima com essas duas adições:

________________________
(*) Para entender mais sobre a linguagem R e suas ferramentas, confira 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

As diferentes formas de avaliar o erro de um modelo de previsão

Existem tantas siglas para métricas de desempenho de modelos preditivos que é fácil se perder na sopa de letrinhas. Neste artigo, fornecemos uma visão geral das principais métricas para avaliar e comparar modelos de regressão e classificação, usando exemplos com dados em Python.

Previsão do CPI usando text mining

Exploramos neste exercício, de forma similar a Ferreira (2022), a utilidade de tópicos latentes extraídos dos comunicados do FOMC, por um modelo LDA, na previsão da inflação norte-americana, medida pelo CPI. O objetivo é comparar um modelo econométrico simples, tal como um AR-GAP de Faust e Wright (2013), em especificações com e sem os fatores textuais.

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.