#rm(list = ls()) #Libera memória, apagando os objetos abertos no R.
#gc() #Libera a memoria RAM que não esta sendo utilizada pelo computador:
options(scipen=999) #Remove notação científica.
library(pacman)
p_load(PNADcIBGE, dplyr, haven, ggplot2, scales, ggpubr, zoo, ggrepel) # Carrega os pacotes
options(dplyr.summarise.inform = FALSE) # Tira o warning do summarise
(esse processo demorou umas duas horas para completar no meu computador)
var_TBM <- c("Ano","Trimestre","UF","V1028", "V2009", "V3003", "V3003A")
Pnad_lista = list()
for(ano in 2012:2021) {
for(tri in 1:4){
Pnad_TBM <- get_pnadc(year = ano, quarter = tri, vars = var_TBM, design = F, labels = F)
Pnad_TBM <- Pnad_TBM %>% dplyr::select(Ano, Trimestre, UF, V1028, V2009, V3003, V3003A)
Pnad_lista[[((ano-2012)*4)+tri]] <- Pnad_TBM
}
}
for(tri in 1:3) {
Pnad_TBM <- get_pnadc(year = 2022, quarter = tri, vars = var_TBM, design = F, labels = F)
Pnad_TBM <- Pnad_TBM %>% dplyr::select(Ano, Trimestre, UF, V1028, V2009, V3003, V3003A)
Pnad_lista[[40+tri]] <- Pnad_TBM
}
pnad_tbm_2012_2022 <- dplyr::bind_rows(Pnad_lista) # empilha as bases
saveRDS(pnad_tbm_2012_2022, "pnad_tbm_2012_2022.rds") # salva a base
rm(Pnad_lista, Pnad_TBM) # remove arquivos intermediários
TBM <- pnad_tbm_2012_2022 %>%
rename(peso = V1028, idade = V2009, nivel_frequenta1 = V3003, nivel_frequenta2 = V3003A) %>%
mutate(
pessoa = case_when(
idade > 17 & idade < 25 ~ peso,
T ~ 0),
freq_grad = case_when(
nivel_frequenta1 == "07" | nivel_frequenta2 == "08" ~ peso,
T ~ 0)
) %>%
group_by(Ano, Trimestre) %>%
summarise(
pop18a24 = sum(pessoa),
freq_grad = sum(freq_grad)) %>%
ungroup() %>%
mutate(TBM = round((freq_grad/pop18a24)*100, digits = 1),
`Ano-Trimestre` = as.yearqtr(paste0(Ano,"-",Trimestre))) %>%
mutate(label = case_when(Trimestre %in% c("2", "4") ~ TBM,
T ~ NA_real_),
label_2 = case_when(Trimestre == "2" ~ TBM,
T ~ NA_real_),
label_4 = case_when(Trimestre == "4" ~ TBM,
T ~ NA_real_))
TBM %>%
ggplot(aes(x=`Ano-Trimestre`, y=TBM)) +
geom_line(color="#69b3a2", size=2) +
theme_pubclean() +
ggtitle("TBM - Brasil - 2012-2022") +
theme(axis.text = element_text(size=(12))
) +
scale_x_yearqtr(breaks = TBM$`Ano-Trimestre`) +
theme(axis.text.x = element_text(angle = 90, hjust=1)) +
geom_label_repel(label=TBM$label)