This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF. For more details on using R Markdown see http://rmarkdown.rstudio.com.
Aqui veremos como é possível criar gráficos mostrando o comportamento do PIB trimestral desde 1996. O arquivo que será trabalhado é obtido no SIDRA (tabela 5932). Na tabela, o que nos interessa é o acumulado de 4 trimestres sobre o mesmo período do ano anterior: por exemplo, os 4 trimestres de 2020 sobre os 4 trimestres de 2019. É interessante definir uma tabela em que os dados estejam em uma coluna. Salve em csv.br a tabela selecionada. Em seguida, ao abrí-la, mantenha um cabeçalho curto e constituído por uma linha, apenas. Elimine a coluna de datas. Lembre-se de excluir, também, as informações ao final da tabela. Em sendo assim, a planilha consistirá apenas de um cabeçalho curto e os dados a serem trabalhados. Qualquer outro elemento será excluído. O arquivo deve ser salvo no diretório de trabalho do R. Sabemos qual é o diretório de trabalho do R com o comando getwd().
Neste primeiro exercício, precisaremos apenas de um pacote do R (package), o zoo. Vamos usar este pacote de séries temporais para calcular a média móvel da série original de PIB trimestral. Inúmeros pacotes com funções estatísticas e gráficas não vêm já instalados no R. Por isso, devemos intalá-los com o comando install.packages(“nome do pacote”). Lembrando que para rodar um comando, devemos apertar Crtl+Enter. Instalado o programa, devemos agora carregá-lo com o comando library(nome do pacote).
#### Carregando o pacote zoo.
library(zoo)
Vamos ler os dados com os quais queremos trabalhar. Ao mesmo tempo em que alimentamos o R, vamos criar um objeto para trabalhar com ele. Notem o símbolo “<-”. É por meio dele que denominamos objetos (números, strings, vetores, matrizes etc.).
#### Lendo o arquivo
pib_tri<-read.csv2("pibtri.csv", header = T)
No comando acima note o seguinte: o argumento header = True quer dizer que queremos preservar o cabeçalho que criamos quando “limpamos” o arquivo baixado do Sidra. O argumento pibtri.csv é o nome do arquivo que eu havia salvo e que agora estou lendo. Já a função read.csv2 é a ideal para leitura de arquivo como o que havíamos salvado do Sidra, um arquivo do tipo CSV.BR. Este comando, como os demais que usaremos neste exercício inicial, constam no próprio R básico (base). Não são de um pacote específico.
É interssante para nossos própósitos de visualizar um gráfico do PIB trimestral e, futuramente, realizar previsões, transformar nossos dados em uma série temporal. o arquivo que estamos trabalhando no R é do tipo data frame, uma denominação genérica para tabela. Usamos o comando class(nome do arquivo) o tipo de um objeto:
#### Lendo o arquivo
class(pib_tri)
## [1] "data.frame"
Para transformar um data frame em uma série temporal o comando é o ts, do termo em inglês para série temporal.
## Transformando em série temporal
pib_trist<-ts(pib_tri, start=c(1996, 1), frequency=4)
plot(pib_trist)
No comando acima especifico o período em que a série começa, ou seja, o primeiro trimestre de 1996 e a frequência anual da série, 4 ocorrências. Logo em seguida também peço um gráfico da série temporal criada com o comando plot.
Podemos melhorar o gráfico acrescentando mais argumentos à função plot:
plot(pib_trist, col="red", main="PIB trimestral", xlab="anos", ylab="PIB tri")
Vamos usar o comando rollmean, do pacote zoo para criar uma média móvel para a série do PIB trimestral.
pib_trimm<-rollmean(pib_trist, 16, fill = NA, align = "right")
plot(pib_trimm, col="blue")
Os argumentos que usamos (e eles não são os únicos) na função rollmean são, por ordem: o nome do objeto (no caso uma série temporal) da qual queremos deduzir a média móvel, o número de períodos da série que queremos agrupar para calcular cada valor da média móvel, uma instrução de preenchimento caso tivéssemos valores vazios (NA), alinhamento da série de média móvel à direita (ver como ficou o gráfico).
Para apresentar os dois gráficos feitos acima em um só plano recorremos à função lines.
plot(pib_trist, col="red", main="PIB trimestral", xlab="anos", ylab="PIB tri", sub="Macroeconomia 2021")
lines(pib_trimm, col="blue")
legend("topright", legend = c("média móvel", "PIB tri"), lty=c(1,1),
lwd=c(2,2), col=c("blue","red"), cex = .7)
Os argumentos que eu destacaria no chunk acima são os seguintes: acrescentei um sub(título) e uma legenda, com a função legend. Os argumentos que usei na função legend foram a localização do quadro de legenda (topright), os nomes empregados nos dois gráficos, o tipo de linhas com o argumento lty, a grossura das linhas, com o argumento lwd, a suas cores e a dimensão da caixa, com o argumento cex.