This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see http://rmarkdown.rstudio.com.
Vamos ver como é possível usar dados do Sidra-IBGE para fazer gráficos da Pesquisa Industrial Mensal-Produção Física (PIM-PF). Esta pesquisa mostra como se comporta o setor da indústria de transformação no curto prazo. Vamos praticar o uso dos pacotes sidrar e ggplot2.
Inicialmente devemos carregar os seguintes pacotes: sidrar [que vai nos permitir pegar os dados diretamente do site do IBGE], scales [vai nos ajudar a escrever as datas no gráfico que faremos] e ggplot2 [será usado para desenhar o gráfico]. Os comandos são os seguintes:
#### carregando os outros previamente instalados.
library(scales)
library(sidrar)
library(ggplot2)
Este pacote permite que usemos o API do SIDRA para ler, diretamente no R, os dados que precisamos. O API é uma interface de programação que alguns sites disponibilizam para que acessemos rapida e diretamente as informações lá produzidas. O pacote sidrar é bastante prático e simples. Consiste, basicamente, de uma função apenas, a get_sidra. O argumento da função é o código da tabela que queremos trabalhar. Já vimos em outra aula que pegamos esse código na página da tabela do sidra que nos interessa.
Neste exercício vamos comparar a evolução da indústria de Pernambuco com as do Nordeste e Brasil.
########## alimentar o R por web scraping (sidrar)
PIM_PFBR <- PIBvolume <- get_sidra(api='/t/3653/n1/all/v/3134/p/all/c544/129314/d/v3134%201')
PIM_PFNE <- PIBvolume <- get_sidra(api='/t/3653/n2/all/v/3134/p/all/c544/129314/d/v3134%201')
PIM_PFPE <- PIBvolume <- get_sidra(api='/t/3653/n3/26/v/3134/p/all/c544/129314/d/v3134%201')
Vamos criar um vetor de tempo para usá-lo na elaboração do eixo horizontal (tempo) do gráfico que faremos com o ggplot2. Notem que ao investigarmos o tipo de objeto criado, com o comando class, temos como resposta date.
########## criando um vetor de tempo
tempo = seq(as.Date('2002-01-30'), as.Date('2020-09-30'), by='month')
class(tempo)
## [1] "Date"
Para gerar o gráfico, começamos criando um objeto que abriga os nomes das regiões cujo desempenho industrial queremos retratar e as cores dos respectivos gráficos. Esse procedimento será útil na inserção da legenda no gráfico.
colors <- c("PE" = "blue", "BR" = "orange", "NE" = "red")
Usando a função ggplot2. Algumas instruções básicas para o desenho do gráfico: aes especifica o que vai constar no gráfico; geom_line informa que queremos desenhar linhas com as cores que determinamos no objeto colors que criamos e com espessura igual a 1. Em xlab e ylab nomeamos os eixos do gráfico. Já nas funções theme e scale_x_date lançamos instruções específicas para o eixo dos x. Finalmente com a função labs damos um nome ao gráfico e à sua fonte (caption).
ggplot(PIM_PFPE, aes(x = tempo)) +
geom_line(aes(y = Valor, color = "PE"), size = 1) +
geom_line(aes(y = PIM_PFBR$Valor, color = "BR"), size = 1) +
geom_line(aes(y = PIM_PFNE$Valor, color = "NE"), size = 1) +
xlab('Anos/Meses')+
ylab('Índice')+
theme(axis.text.x = element_text(face="bold", color="black", size=9, angle=45, hjust = 1)) +
theme(axis.text.y = element_text(face="bold", color="Black", size=9, angle=0)) +
theme( axis.line = element_line(colour = "black", size = 0.5, linetype = "solid")) +
scale_x_date(date_labels = "jan / %Y", breaks = date_breaks("1 year")) +
labs(title='PIM-PF - Índice desazonalizado, base média de 2012=100', caption='Fonte: Grupo de Métodos Quantitativos Economia UNICAP', color = "") +
scale_color_manual(values = colors)
Usamos no gráfico a estatísca de número índice com base na média de 2012. Notem como a indústria de Pernambuco cresceu no início de 2015. Por outro lado, até o início de 2009 a evolução da indústria pernambucana esteve abaixo das nordestina e brasileira. Vejam ainda a queda abrupta decorrente da pandemia.
Devemos lembrar que para obter dados atualizados, precisamos modificar, acrescentando datas, o objeto tempo.