Levando o Relatório de Inflação para o R

[et_pb_section admin_label="section"][et_pb_row admin_label="row"][et_pb_column type="4_4"][et_pb_text admin_label="Texto" background_layout="light" text_orientation="justified" text_font="Verdana||||" text_font_size="18" use_border_color="off" border_color="#ffffff" border_style="solid"]

O R pode ser uma ferramenta poderosa para quem lida com análise de textos. Em minhas atividades de pesquisa, por exemplo, há a construção de índices de comunicação do Banco Central, onde preciso classificar determinadas palavras em classes de "potência" da política monetária. Isto é, se um determinado conjunto de palavras for mais citado do que outro, é possível dizer se a política monetária será mais expansionista, contracionista ou neutra. Agora, imagine o trabalho que dá fazer isso na mão? Pois é. O R é uma baita ajuda nessa empreitada.

Para ilustrar esse processo de mineração de textos (ou text mining) de forma simples aqui, vamos construir uma wordcloud do relatório de inflação divulgado nessa manhã.  Para isso, em primeiro lugar preciso levar o relatório para o R. Para fazer isso, eu vou usar o pacote pdftools, como abaixo.

library(pdftools)
download.file("http://www.bcb.gov.br/htms/relinf/port/2017/03/ri201703P.pdf", 
 "ri201703P.pdf", mode = "wb")
ri = pdf_text("ri201703P.pdf")

Uma vez que tenhamos o relatório no R, agora podemos operar a "mágica". Para isso, vamos fazer uso do pacote tm, uma biblioteca específica para text mining. Carregamos o pacote e colocamos nosso objeto ri na estrutura de um corpus, a classe de variável utilizada pelo pacote.

library(tm)
text_corpus = Corpus(VectorSource(ri))

Feito isso, podemos agora usar a função tm_map() para modificar o conteúdo do nosso corpus. Para detalhes, ver a documentação do pacote.

corpus_clean = tm_map(text_corpus, stripWhitespace)
corpus_clean = tm_map(corpus_clean, removeNumbers)
corpus_clean = tm_map(corpus_clean, PlainTextDocument)
corpus_clean = tm_map(corpus_clean, removePunctuation) 
corpus_clean = tm_map(corpus_clean, removeWords, stopwords('pt')) 

E, por fim, podemos usar o pacote wordcloud para enfim construir nossa wordcloud... 

library(wordcloud)
wordcloud(corpus_clean, max.words=150, random.order=FALSE, 
 colors=brewer.pal(8,"Dark2"))

O resultado é bastante simples. Mas imagine agora as possibilidades do text mining com uma ferramenta tão poderosa quanto o R? 🙂

 

[/et_pb_text][/et_pb_column][/et_pb_row][et_pb_row admin_label="row"][et_pb_column type="1_2"][et_pb_button admin_label="Botão" button_url="https://analisemacro.com.br/cursos-de-r/introducao-ao-r/" url_new_window="off" button_text="Curso de Introdução ao R " button_alignment="center" background_layout="light" custom_button="off" button_letter_spacing="0" button_use_icon="default" button_icon_placement="right" button_on_hover="on" button_letter_spacing_hover="0"] [/et_pb_button][/et_pb_column][et_pb_column type="1_2"][et_pb_button admin_label="Botão" button_url="https://analisemacro.com.br/cursos-de-r/analise-de-conjuntura/" url_new_window="off" button_text="Análise de Conjuntura usando o R " button_alignment="center" background_layout="light" custom_button="off" button_letter_spacing="0" button_use_icon="default" button_icon_placement="right" button_on_hover="on" button_letter_spacing_hover="0"] [/et_pb_button][/et_pb_column][/et_pb_row][/et_pb_section]

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

Criando operações SQL com IA Generativa no R com querychat

No universo da análise de dados, a velocidade para obter respostas é um diferencial competitivo. Frequentemente, uma simples pergunta de negócio — “Qual foi nosso produto mais vendido no último trimestre na região Nordeste?” — inicia um processo que envolve abrir o RStudio, escrever código dplyr ou SQL, executar e, finalmente, obter a resposta. E se pudéssemos simplesmente perguntar isso aos nossos dados em português, diretamente no nosso dashboard Shiny?

Dashboard Financeiro com IA e Shiny Python: Análise de Dados Abertos da CVM

Este artigo apresenta um tutorial completo sobre como construir uma ferramenta de análise financeira de ponta. Utilizando Shiny for Python, demonstramos a automação da coleta de dados das Demonstrações Financeiras Padronizadas (DFP) da CVM e o tratamento dessas informações com Pandas. O ponto alto do projeto é a integração da IA Generativa do Google Gemini, que atua como um assistente de análise, interpretando os dados filtrados pelo usuário e fornecendo insights contábeis e financeiros em tempo real. O resultado é um dashboard dinâmico que democratiza a análise de dados complexos e acelera a tomada de decisão.

Econometria, ML ou IA para previsão da PMS?

Prever a Pesquisa Mensal de Serviços (PMS/IBGE) é um desafio por natureza: trata-se de uma série mensal, sujeita a volatilidade e choques que vão de fatores sazonais a mudanças estruturais no setor. Para enfrentar esse problema, realizamos um exercício de comparação entre três abordagens de modelagem: econometria tradicional (ARIMA), machine learning (XGBoost) e inteligência artificial (TimeGPT).

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.