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. Este trabalho foi elaborado em ambiente de kernel Linux, distribuição Arch Linux. IDE utilizada foi a RStudio.

COMPARAÇÃO DE PIB PER CAPITA DE PAÍSES

O objetivo é replicar, atualizando, tabela vista em sala de aula.

Coleta e tratamento dos dados

No site de dados do Banco Mundial (https://data.worldbank.org/) vamos coletar dados de PIB per capita de alguns países (por exemplo, Brasil, Argentina, México, Uruguai, Colômbia):

  • Indicators
  • Economy & Growth
  • GDP per capita (current US$)
  • GDP per capita (constant 2015 US$)
  • Download: CSV

Extraia o arquivo zipado para sua área ou diretório de trabalho. Você vai ver uma tabela com mais de duzentos países e áreas ou regiões. Dados de PIB per capita, de 1960 até 2022. Note que para alguns países não existem dados para todos os anos da série.

Com base na planilha extraída, monte uma outra com os países que serão estudados, no caso deste exemplo, Brasil, Argentina, México, Uruguai e Colômbia.

O nome que eu dei para essa nova planilha é pibpc.csv. O tratamento dos dados consiste em montar uma tabela apenas com os nomes dos países nas colunas e seus respctivos PIB per capitas (ou seja, é necessário apagar as outras células e transpor a tabela). Para facilitar o tratamento dos dados no R, o arquivo pibpc.csv será composto apenas pelos nomes dos países e seus PIB per capitas.

Leitura dos dados no R

Primeiro devemos definir nosso diretório de trabalho. Sabemos qual o diretório de trabalho do R com o seguinte comando:

getwd()
## [1] "/home/dinilson"

O R está considerando como seu diretório de trabalho a pasta “dinilson”. Então é nessa pasta que eu devo salvar o arquivo de trabalho (pibpc.csv). É possível, também, determinar outro diretório de trabalho com o comando setwd().

Vamos carregar os pacotes que usaremos neste estudo. Os pacotes devem ser previamente instalados com o comando install.packages(“nome do pacote”).

library(lubridate)
library(scales)
library(ggplot2)
library(ggthemes)
library(data.table)
library(dplyr)

O pacote lubridate será usado para criarmos as datas de nossa série temporal, que, no nosso caso, começa em 1960 e termina em 2022. O pacote scales serve para espaçar datas no gráfico que faremos. O ggplot2 é uma poderosa suíte para fazer gráficos. O pacote ggthemes acrescenta fundos aos gráficos. Já o pacote dplyr será usado para manipular o dataframe que vamos criar.

Agora podemos ler os dados, ou seja, carregá-los em nosso espaço de trabalho. O comando que usaremos nessa leitura é o read.csv(). É um comando nativo no R Base, ou seja, não foi obtido por algum pacote extra. Atenção: o comando read.csv() lê arquivos em CSV no padrão de números norte-americano, onde a casa decimal é separada pelo ponto. Se o arquivo em CSV estiver no formato brasileiro, onde a casa decimal é separada por vírgula, então o comando de leitura no R base seria read.csv2(). No pacote tidyverse, uma poderosa súite para se trabalhar com dados, há ferramentas de leituras de arquivos em CSV mais sofisticadas.

pibpc<-read.csv('pibpc.csv', header = T)

O argumento header = T significa que queremos que o cabeçalho da tabela seja lido. No quadrante Environment do RStudio você verá que o arquivo foi carregado, com 63 observações (de 1960 até 2022) e 5 variáveis (os cinco países de nossa amostra). Clicando no ícone da tabela, no Environment, pode visualizar a tabela no primeiro quadrante.

Vamos acrescentar à tabela (ou melhor, dataframe) uma coluna de datas. Tal coluna será interpretada pelo R como uma coluna de datas e não apenas de números, 1960, 1961 etc.

anos<-seq.Date(from = as_date("1960-01-01"),
               to = as_date("2022-01-01"),
               "year")

Note que, em que pese escrevermos mês e dia na função, os dados são anuais.

Agora vamos acrescentar ao nosso dataframe pibpc essa coluna com os anos:

pibpcdf = data.frame(anos, pibpc)

Mais uma vez, visualize o novo data frame (pibpcdf) no quadrante Environment.

Podemos confirmar que pibpcdf é um data frame por meio da função class(objeto):

class(pibpcdf)
## [1] "data.frame"

Gráfico

Vamos, agora, usar o fantástico pacote ggplot2 para montar o gráfico que apresenta o desempenho dos países durante o intervalo de tempo considerado. É importante lembrar que essa comparação só faz sentido porque os valores estão corrigidos para dólares de 2015.

Vamos montar os gráficos em duas etapas. Uma primeira simples e outra com mais detalhes e informações. O que diferencia uma da outra é que na segunda mais camadas de informações são acrescentadas.

ggplot(data = pibpcdf, aes(x = anos)) +
  geom_line(aes(y = ARG, colour = "Argentina"), linewidth = 0.9)+
  geom_line(aes(y= BRA, colour="Brasil"), linewidth = 0.9) +
  geom_line(aes(y= COL, colour="Colômbia"), linewidth = 0.9) +
  geom_line(aes(y= MEX, colour="México"), linewidth = 0.9) +
  geom_line(aes(y= URU, colour="Uruguai"), linewidth = 0.9) +
  xlab('Anos')+ 
  ylab('PIB per capita')

Os argumentos usados no gráfico acima são os seguintes: em data nomeamos o dataframe que utilizamos. O desenho ou estética do gráfico é especificado com a função aes, no caso estamos dizendo que o eixo horizontal (x) é o dos anos. Em seguida, passamos a acrescentar ao gráfico as linhas dos países. Note que as cores das linhas são assumidas pelo programa. Mas podemos nomear cada uma delas, como fazemo através do argumento colour. Determinamos a grossura de cada linha com o argumento linewidth. Finalmente, nomeamos os eixos com os argumentos xlab e ylab.

Vamos montar um gráfico mais elaborado. O comando é o seguinte:

ggplot(data = pibpcdf, aes(x = anos)) + theme_economist()+
  geom_line(aes(y = ARG, colour = "Argentina"), linewidth = 0.9)+
  geom_line(aes(y= BRA, colour="Brasil"), linewidth = 0.9) +
  geom_line(aes(y= COL, colour="Colômbia"), linewidth = 0.9) +
  geom_line(aes(y= MEX, colour="México"), linewidth = 0.9) +
  geom_line(aes(y= URU, colour="Uruguai"), linewidth = 0.9) +
  xlab('Anos')+ 
  ylab('PIB per capita')+
  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")) +
  labs(title='PIB per capita de Países',
       subtitle='1960-2022', caption='Fonte: Turma de Fundamentos de Macro 2024', color = "")

São muitos outros argumentos. Destaco o labs. Com ele especificamos o título do gráfico e sua nota de rodapé. Os demais podem ser esclarecidos numa boa pesquisa feita no Google.

Taxa de Crescimento no período

Vamos agora tentar responder à seguinte pergunta: Nesses 63 anos, que país apresentou a maior evolução no seu PIB per capita?

Para responder à pergunta vamos transpor nossa matriz original (aquela sem as datas, pibpc) e acrescentar, depois, uma coluna com o crescimento entre os anos 1963 e 2022. A nova coluna será acrecida por meio do operador pipe, %>%. Esse operador está no pacote dplyr, usando muito em data science.

Primeio a transposição do data frame pibpc:

pibpcT <- as.data.frame(t(pibpc))

Agora vamos criar a coluna com o crescimento entre os anos 1960 e 2022:

pibpc_df <- pibpcT %>%
  mutate(cresc = V1/V63 )
pibpc_df
##           V1       V2       V3       V4       V5       V6       V7       V8
## ARG 7410.305 7687.517 7498.840 6986.565 7572.231 8241.529 8059.450 8187.373
## BRA 2578.429 2717.002 2811.627 2746.514 2758.863 2746.258 2850.901 2892.684
## COL 1951.043 1987.653 2031.346 2034.759 2095.847 2107.610 2154.831 2182.153
## MEX 4197.982 4269.984 4325.436 4524.189 4897.244 5072.631 5206.154 5332.748
## URU 6636.646 6716.762 6531.215 6466.285 6550.572 6549.796 6684.068 6381.143
##           V9      V10      V11      V12      V13      V14       V15      V16
## ARG 8450.037 9126.186 9257.896 9628.038 9630.010 9739.416 10105.050 9935.939
## BRA 3095.222 3304.856 3558.852 3866.385 4224.196 4699.440  4962.922 5097.708
## COL 2250.141 2326.605 2410.399 2494.398 2625.277 2739.440  2833.390 2836.551
## MEX 5648.053 5655.998 5835.131 5867.035 6154.647 6435.961  6602.411 6773.990
## URU 6448.401 6778.496 6896.111 6841.418 6713.822 6694.947  6848.322 7219.411
##          V17       V18      V19       V20       V21      V22      V23      V24
## ARG 9581.841 10083.815 9476.063 10278.925 10270.956 9585.207 9366.170 9622.347
## BRA 5489.980  5626.717 5768.426  6014.867  6415.638 6001.645 5914.565 5613.612
## COL 2907.408  2962.538 3141.531  3236.008  3291.472 3289.777 3245.942 3222.121
## MEX 6867.222  6893.667 7293.084  7776.166  8240.716 8831.274 8649.123 8086.262
## URU 7453.835  7514.929 7874.088  8319.873  8767.217 8866.945 7966.519 7114.329
##          V25      V26      V27      V28      V29      V30      V31      V32
## ARG 9624.405 8987.934 9397.884 9507.340 9262.964 8473.027 8144.494 8762.661
## BRA 5788.087 6110.358 6433.498 6528.623 6399.484 6479.069 6086.078 6043.433
## COL 3255.018 3283.229 3400.941 3508.248 3574.479 3619.351 3695.806 3693.731
## MEX 8209.844 8212.922 7750.171 7774.520 7735.722 7882.123 8145.016 8303.121
## URU 6998.041 7063.190 7642.515 8205.951 8276.141 8313.132 8286.698 8529.701
##          V33      V34       V35      V36       V37       V38       V39
## ARG 9327.859 9957.257 10397.379 9969.332 10388.539 11097.382 11391.945
## BRA 5911.687 6103.377  6358.679 6524.519  6567.352  6689.199  6613.983
## COL 3767.677 3893.075  4039.994 4170.458  4179.226  4246.157  4196.920
## MEX 8433.337 8509.396  8715.734 8049.743  8399.343  8849.732  9240.007
## URU 9152.652 9342.521  9965.604 9765.153 10251.271 11064.299 11501.851
##           V40       V41       V42      V43      V44       V45       V46
## ARG 10880.206 10672.722 10090.653 8895.320 9581.970 10341.643 11141.311
## BRA  6551.227  6745.858  6749.882 6868.696 6865.173  7178.347  7325.904
## COL  3953.730  4003.985  4007.528 4045.307 4142.008  4301.035  4447.567
## MEX  9340.080  9655.602  9464.995 9300.117 9271.440  9461.924  9524.742
## URU 11270.676 11008.638 10557.505 9724.988 9792.163 10271.012 11024.388
##           V47       V48       V49       V50       V51       V52       V53
## ARG 11913.959 12857.093 13246.635 12336.862 13551.339 14200.270 13895.634
## BRA  7534.543  7909.825  8231.100  8142.761  8673.898  8935.277  9025.314
## COL  4685.055  4939.118  5042.061  5042.145  5209.732  5511.100  5667.499
## MEX  9847.513  9920.688  9888.139  9151.770  9480.135  9667.627  9872.293
## URU 11460.283 12186.596 13031.858 13552.245 14572.763 15284.063 15780.264
##           V54       V55       V56       V57       V58       V59       V60
## ARG 14071.509 13567.948 13789.060 13360.212 13595.037 13105.397 12716.224
## BRA  9216.132  9183.460  8783.215  8426.843  8470.941  8553.866  8592.211
## COL  5899.768  6107.083  6228.652  6291.080  6280.891  6320.991  6404.109
## MEX  9826.132  9947.886 10098.173 10161.356 10240.310 10343.353 10226.231
## URU 16463.016 16943.691 16950.753 17181.907 17437.855 17440.382 17563.208
##           V61       V62       V63     cresc
## ARG 11346.652 12444.318 12940.738 0.5726339
## BRA  8255.568  8621.732  8831.128 0.2919705
## COL  5852.983  6423.860  6842.533 0.2851346
## MEX  9273.811  9760.445 10077.383 0.4165746
## URU 16459.978 17342.791 18214.808 0.3643544

De acordo com os valores da coluna cres, os países de nosso grupo que mais cresceram foram a Argentina e o Uruguai.