Inspirado no artigo “Quando as palavras contam a história”, do Terraço Econômico, resolvi elaborar minha própria implementação do método, contribuindo para a comunidade. Vou mostrar então como eu fiz em alguns posts dessa série:
- Usando a base de dados
- Replicando a base de dados
- Analisando o sentimento
Resolvi começar pelo final, divulgando a base de dados já pronta, para que os colegas possam já começar a criar suas próprias análise, nuvem de termos, contagem de palavras, etc.
Você pode baixar a base de dados aqui neste link: Atas do COPOM. É um arquivo formato texto (txt), com a seguinte estrutura: a primeira coluna contém o número da ata (de 21 a 212, que são as disponíveis no site do Banco Central), a segunda coluna com a data que a ata da reunião foi publicada e uma terceira coluna contendo todo o texto extraído.
Para importar os dados do arquivo de texto para o R, utilize o código abaixo:
library(dplyr)
library(lubridate)
atas <- read.table("atas.txt", header = TRUE) %>%
as_tibble() %>%
mutate(data = ymd(data)) %>%
mutate(texto = as.character(texto))
Na primeira linha lemos o arquivo, registrando a primeira linha do texto como os títulos. Na segunda convertemos os dados para o formato tibble, que é uma forma mais comportada de dataframe. Em seguida precisamos converter as datas de texto para o formato data com o comando ymd do pacote lubridate e converter a coluna com os textos do tipo fator para o tipo caractere.
O operador %>%, para quem não conhece, vem do pacote dplyr e significa passar o resultado da linha anterior pela operação seguinte. Em linguagem matemática podemos traduzir f %>% g para g o f ou g(f(x)). Acredito que o código fica mais limpo e legível dessa forma.
Pronto. os dados estão agora no R. Divirtam-se! Na próxima parte eu vou explicar como extraí os textos do site do BCB e usar um pouco de programação funcional para isso.
EDITADO:
Acrescentei também a versão json da tabela para os que preferem este formato de arquivo. O link para os dados é este, e o código para a leitura este:
atas2 <- jsonlite::read_json(“./database/atas.json”, flatten = TRUE, simplifyVector = TRUE) %>% as_tibble()
2 comentários sobre “Análise de sentimento do COPOM com R (parte 1: usando a base de dados)”