Introdução

Pessoal, espero que estejam ótimos!

Aqui é o lugar onde eu vou fazer as ilustrações para a ERU 487. Com este material eu espero que vocês consigam, em um futuro próximo, fazer as suas próprias ilustrações, análises, etc.

Pacotes Usados

Se o library("nomedopacote") não funcionar, talvez você não tenha instalado o pacote ainda. Por isso, talvez você precise utilizar o install.packages("nomedopacote") antes. Este procedimento de instalar algo precisa ser feito apenas uma vez, mas o carregamento do pacote, library("nomedopacote") precisa ser feito toda vez que você abrir o Rstudio.

Por isso, faça isso apenas da PRIMEIRA VEZ QUE ESTIVER USANDO O R:

install.packages("ipeadatar")
install.packages("ggplot2")
install.packages("ggthemes")
install.packages("sidrar")
install.packages("tidyr")
install.packages("tidyverse")
install.packages("wbstats")
install.packages("geobr")
install.packages("sp")
install.packages("sf", dependencies = TRUE)
install.packages("jsonlite")

Já esta parte aqui você precisa fazer TODA VEZ QUE INICIAR UMA NOVA SESSÃO:

library("ipeadatar")
library("ggplot2")
library("ggthemes")
library("sidrar")
library("tidyr")
library("tidyverse")
library("wbstats")
library("geobr")
library("sp")
library("sf")
library("jsonlite")

As bases de dados usadas aqui são públicas e eu não preciso enviá-las para vocês. A gente faz o download delas de três fontes preferencialmente:

  • IPEADATA com o library("ipeadatar")

  • Our World in Data com o read.csv combinado com library("jsonlite")

  • Dados do IBGE pelo library("sidrar")

Isso facilita a vida porque você não vai se preocupar com criar as bases, nem se a base está separada por vírgulas, por pontos, etc. A parte ruim é que você não vai aprender a lidar com esses problemas básicos logo no início.

Ipedatar

Isso vai carregar um objeto chamado as que tem todas as séries existentes no Ipeadata. Dá para fazer todas as monografias de vocês só com este pacote.

as<-available_series(language = c("br"))

O gráfico que eu mostrei na primeira aula.

th1<-ipeadata("THOMIC", language = c("br"), quiet = FALSE)
## Warning: There was 1 warning in `dplyr::mutate()`.
## ℹ In argument: `TERCODIGO = as.integer(.data$TERCODIGO)`.
## Caused by warning:
## ! NAs introduzidos por coerção
th2<-ipeadata("THOMICJ", language = c("br"), quiet = FALSE)
## Warning: There was 1 warning in `dplyr::mutate()`.
## ℹ In argument: `TERCODIGO = as.integer(.data$TERCODIGO)`.
## Caused by warning:
## ! NAs introduzidos por coerção
i1<-th1 %>% filter(uname=="Brasil")
i2<-th2 %>% filter(uname=="Brasil")
i1 <- i1 %>% mutate(th_total = value) 
i2 <- i2 %>% mutate(th_jovem = value) 

th3 <- merge(i1, i2, by="date") %>% select(date, th_jovem, th_total)
th3$ano <- as.numeric(substr(th3$date, 1, 4))


ggplot(th3, aes(x = ano)) +
  geom_line(aes(y = th_total, color = "Total", linetype = "Total"), size = 1) +
  geom_point(aes(y = th_total, color = "Total"), size = 2) +
  geom_line(aes(y = th_jovem, color = "Jovem (15-29)", linetype = "Jovem (15-29)"), size = 1) +
  geom_point(aes(y = th_jovem, color = "Jovem (15-29)"), size = 2) +
  scale_color_manual(values = c("Total" = "gray20", "Jovem (15-29)" = "darkorange")) +
  scale_linetype_manual(values = c("Total" = "solid", "Jovem (15-29)" = "dotted")) +
  labs(x = "", y = "Taxa de homicídios (mortes/100mil)", color = "", linetype = "") +
  theme_minimal()
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.

A gente pode fazer algum outro agora…

Soja, Cana?

#QUANTPRODSOJA

Algo do Ourworldindata

# Fetch the data
expectativadevida <- read.csv("https://ourworldindata.org/grapher/life-expectancy.csv?v=1&csvType=full&useColumnShortNames=true")

# Fetch the metadata
metadata <- fromJSON("https://ourworldindata.org/grapher/life-expectancy.metadata.json?v=1&csvType=full&useColumnShortNames=true")

save(expectativadevida, file="expectativadevida.Rda")
load("expectativadevida.Rda")
df_filtered <-expectativadevida %>%
  filter(Entity %in% c("World", "Brazil", "United States", "France", "Germany", "Canada", "Argentina")) %>%
  filter(Year>1900)



# Criar o gráfico
l3 <- ggplot(df_filtered, aes(x = Year, y = life_expectancy_0__sex_total__age_0, color = Entity)) +
  geom_line() +
  geom_point(size = 1)+
  labs(title = "",
       x = "",
       y = "Expectativa de Vida ao Nascer",
       color = "") +
  theme_minimal()


l3

A gente pode fazer algum outro agora… ao vivo, basta ir no Ourworldindata

Sidrar

O Sidrar funciona da mesma forma do IPEADATAR, basta você saber o código da série (mostrar na sala).

#https://apisidra.ibge.gov.br/values/t/1612/n1/all/v/214/p/all/c81/2696

cana =
'/t/1612/n1/all/v/214/p/all/c81/2696' %>%
get_sidra(api=.) 
## All others arguments are desconsidered when 'api' is informed
ggplot(cana, aes(x=Ano, y=Valor)) + geom_line( ) + geom_point()
## `geom_line()`: Each group consists of only one observation.
## ℹ Do you need to adjust the group aesthetic?

ggplot(cana, aes(x=as.numeric(Ano), y=as.numeric(Valor) / 1e6)) + 
  geom_line(color="darkblue") + 
  geom_point(color="darkred") + 
  theme_minimal() +
  labs(x="", y="Valor (mi, ton)", title="Cana")