Este estudo busca refazer, através da Linguagem R Tabelas, Gráficos e Mapas do excelente trabalho publicado pelo IBGE, PNUD e FJP:O Índice de Desenvolvimento Humano Municipal Brasileiro disponível em (último acesso 23/06/2023): https://onedrive.live.com/?authkey=%21AGvg%2D0FawRuMMj4&id=124653557C0404EC%2123008&cid=124653557C0404EC&parId=root&parQt=sharedby&parCid=5B877C5B5730AC20&o=OneUp
Pacotes necessários para elaboração das Tabelas, Gráficos e Mapas contidos neste ensaio são:
library(dplyr)
library(ggplot2)
library(sf)
library(readxl)
library(gtsummary)
library(gt)
library(tidyr)
library(tidyverse)
library(RColorBrewer)
library(geobr)
library(ggrepel)
Download da base de dados: Atlas 2013_municipal, estadual e Brasil
A planilha contendo a base de dados do censo demográfico de 1991, 2000 e 2010 está disponível para download no site: http://www.atlasbrasil.org.br/acervo/biblioteca Base de Dados > Censo Demográfico (1991, 2000 e 2010)
Conteúdo da base de dados Censo Demográfico (1991, 2000 e 2010)
Documento excel: Atlas 2013_municipal, estadual e Brasil Com 4 abas: * Siglas: descrição das siglas presentes nas demais abas. * MUN 91-00-10: dados do censo aplicados em nível de municípios (IMPORTANTE: destaque para a presença das colunas CODMUN6 e CODMUN7, código utilizado pelo IBGE para identificação do município o que na prática permite o melhor trabalho de JOIN).
Cód. Estado Cód. Estado Cód. Estado Cód. Estado 11 Rondônia 21 Maranhão 28 Sergipe 42 Santa Catarina 12 Acre 22 Piauí 29 Bahia 43 Rio Grande do Sul 13 Amazonas 23 Ceará 31 Minas Gerais 50 Mato Grosso do Sul 14 Roraima 24 Rio Grande do Norte 32 Espírito Santo 51 Mato Grosso 15 Pará 25 Paraíba 33 Rio de Janeiro 52 Goiás 16 Amapá 26 Pernambuco 35 São Paulo 53 Distrito Federal 17 Tocantins 27 Alagoas 41 Paraná
Conforme apresentado, a depender do OUTPUT esperado, com a função read_excel a referência sheet será direcionada a MUN 91-00-10 para análise dos municípios, UF 91-00-10 para análise dos estados e BR 91-00-10 análise Brasil.
Comandos para elaboração do GRÁFICO 1: CRESCIMENTO DO IDHM NO BRASIL
A forma encontrada para elaborar o GRÁFICO 1 foi através da criação de 4 data frames. Talvez seja possível fazer de forma mais simples e automática, mas não consegui.
df_1: carragemanto base de dados BR 91-00-10 df_2: seleção das colunas ANO e IDHM (valor real) com subgrupo “a” df_3: seleção das colunas ANO e IDHM (valor restante para completar 1 - O IDHM é um número que varia entre 0 e 1. Quanto mais próximo de 1, maior é o desenvolvimento humano ) com subgrupo “b” df_4: combinação dos data frames 2 e 3
Passo 1: Carregamento base de dados: Atlas 2013_municipal, estadual e Brasil df_1: carragemanto base de dados BR 91-00-10
df_1 <- read_excel("Bases Censo/Atlas 2013_municipal, estadual e Brasil.xlsx",
sheet = "BR 91-00-10")
head(df_1)
## # A tibble: 3 × 234
## ...1 ANO ESPVIDA FECTOT MORT1 MORT5 RAZDEP SOBRE40 SOBRE60 T_ENV
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 BRASIL 1991 64.7 2.88 44.7 55.7 65.4 86.9 70.9 4.83
## 2 BRASIL 2000 68.6 2.37 30.6 37.0 54.9 90.4 77.6 5.83
## 3 BRASIL 2010 73.9 1.89 16.7 18.8 45.9 94.4 84.0 7.36
## # ℹ 224 more variables: E_ANOSESTUDO <dbl>, T_ANALF11A14 <dbl>,
## # T_ANALF15A17 <dbl>, T_ANALF15M <dbl>, T_ANALF18A24 <dbl>, T_ANALF18M <dbl>,
## # T_ANALF25A29 <dbl>, T_ANALF25M <dbl>, T_ATRASO_0_BASICO <dbl>,
## # T_ATRASO_0_FUND <dbl>, T_ATRASO_0_MED <dbl>, T_ATRASO_1_BASICO <dbl>,
## # T_ATRASO_1_FUND <dbl>, T_ATRASO_1_MED <dbl>, T_ATRASO_2_BASICO <dbl>,
## # T_ATRASO_2_FUND <dbl>, T_ATRASO_2_MED <dbl>, T_FBBAS <dbl>, T_FBFUND <dbl>,
## # T_FBMED <dbl>, T_FBPRE <dbl>, T_FBSUPER <dbl>, T_FLBAS <dbl>, …
Passo 2: Elaboração do df_2 df_2: > seleção das colunas ANO e IDHM (valor real) do df_1, > criação do vetor subgrupo “a” > add_column para adicionar ao df_2 Final: 3 observações; 3 variáveis: ANO, IDHM e subgrupo
df_2 <- df_1[c(2,231)]
subgroup <- c("a", "a", "a")
df_2 <- add_column(df_2, subgroup)
Passo 3: elaboração do df_3 df_3: precisa criar 3 vetores > ANO > IDHM (valor restante para completar 1 - O IDHM é um número que varia entre 0 e 1. Quanto mais próximo de 1, maior é o desenvolvimento humano ) > criação do vetor subgrupo “b” > add_column para adicionar ao df_3 Final: 3 observações; 3 variáveis: ANO, IDHM e subgrupo
ANO <- c(1991, 2000, 2010)
IDHM <- 1 - df_2$IDHM # subtração!
subgroup <- c("b", "b", "b")
df_3 <- data.frame(ANO, IDHM, subgroup)
Passo 4: elaboração do df_4 df_4: combinação dos data frames 2 e 3 > comando rbind (para que seja possível as várias dos dois data frames tem que ser iguais, com isso há a adição de um data frame ao outro pelas observações e o número de variáveis continua o mesmo) * 6 observações: * 3 variáveis: ANO, IDHM e subgrupo (a, b)
df_4 <- rbind(df_2, df_3)
df_4$ANO <- factor(df_4$ANO,
levels = c("2010",
"2000",
"1991"))
df_4$subgroup <- factor(df_4$subgroup,
levels = c("b",
"a"))
Passo 5: Plotagem do GRÁFICO 1 - CRESCIMENTO DO IDHM NO BRASIL
ggplot(df_4,
aes(x = IDHM,
y = ANO,
fill = subgroup,
hjust = 0,
vjust = 0)) +
geom_bar(position = "fill", stat = "identity",
just = .2,
width = .65,
alpha = 1) +
geom_text(aes(y = ANO, x = IDHM, label = IDHM),
hjust = 0,
vjust = - 2,
check_overlap = TRUE
) +
labs(title = "GRÁFICO 1: CRESCIMENTO DO IDHM NO BRASIL",
x = "",
y = "IDHM",
caption = "Fonte: IPEA, PNUD e FJP") +
scale_x_continuous(breaks = seq(0, 1, by = .1), expand = c(0,0)) +
scale_fill_manual(values = c("a" = "#1c5aab", "b" = "#eaebeb")) +
theme(
panel.background = element_blank(),
axis.ticks = element_blank(),
axis.title.y.left = element_text(angle = 0, vjust = 1, hjust = 0),
axis.text.x = element_text(angle = 0, vjust = 13, hjust = 0),
axis.text.y = element_text(angle = 0, vjust = -2, hjust = 0),
legend.position="none",
)
Elaboração da TABELA 1: IDHM DO BRASIL – 1991, 2000 E 2010 - DIMENSÃO ÍNDICES E INDICADORES
Carregamento base de dados: Atlas 2013_municipal
df_1 <- read_excel("Bases Censo/Atlas 2013_municipal, estadual e Brasil.xlsx",
sheet = "BR 91-00-10")
siglas_atlas_brasil <- read_excel("Bases Censo/Atlas 2013_municipal, estadual e Brasil.xlsx",
sheet = "Siglas")
dimensao_indices_indicadores <- df_1[c("ANO","IDHM","IDHM_L","ESPVIDA","IDHM_E","I_ESCOLARIDADE",
"T_FUND18M",
"I_FREQ_PROP","T_FREQ5A6","T_FUND11A13","T_FUND15A17",
"T_MED18A20",
"IDHM_R","RDPC")]
rm(df_1)
rm(siglas_atlas_brasil)
Transform ANO variable to FACTOR
dimensao_indices_indicadores$ANO <- factor(dimensao_indices_indicadores$ANO,
levels = c("2010",
"2000",
"1991"))
Pivot - Wide to Long dimensao_indices_indicadores: 3 obs. of 14 variables to pivot: 39 obs. of 3 variables
pivot <- dimensao_indices_indicadores %>%
pivot_longer(
cols = !ANO,
names_to = "Observações",
values_to = "Dados"
)
Pivot - Long to Wide pivot: 39 obs. of 3 variables to tabela_1: 13 obs. of 4 varibles
tabela_1 <- pivot %>%
pivot_wider(
names_from = ANO,
values_from = Dados
)
Criando coluna dimensão
dimen <- c(" ", "Longevidade"," ",
"Educação"," "," "," "," "," "," ",
" ","Renda"," ")
tabela_2 <- cbind(tabela_1, dimen)
tabela_2 %>%
gt(
rowname_col = "dimen"
) %>%
tab_stubhead(label = "DIMENSÃO") %>%
cols_label("Observações" = "ÍNDICES E INDICADORES") %>%
fmt_number(rows = c(3,6,8,9,10,11), decimals = 1) %>%
fmt_number(rows = c(13), decimals = 2) %>%
tab_header(title = md("**TABELA 1: IDHM DO BRASIL – 1991, 2000 E 2010**")) %>%
tab_style(
style = cell_text(color = "#5586b3"),
locations = cells_title(groups = c("title"))
) %>%
tab_footnote(footnote = " *Anos finais: 6º ao 9º ano do ensino fundamental") %>%
tab_footnote(footnote = "Fonte: IPEA, PNUD e FJP") %>%
text_case_match(
"IDHM" ~ "IDHM",
"IDHM_L" ~ "IDHM Longevidade",
"ESPVIDA" ~ "Esperança de vida ao nascer (anos)",
"IDHM_E" ~ "IDHM Educação",
"I_ESCOLARIDADE" ~ "Subíndice: Escolaridade da população adulta",
"T_FUND18M" ~ "População com 18 anos de idade ou mais que concluiu o ensino fundamental (%)",
"I_FREQ_PROP" ~ "Subíndice: Fluxo escolar da população jovem",
"T_FREQ5A6" ~ "População de 5 a 6 anos de idade frequentando a escola (%)",
"T_FUND11A13" ~ "População de 11 a 13 anos de idade frequentando os anos finais do ensino fundamental*(%)",
"T_FUND15A17" ~ "População de 15 a 17 anos de idade com o ensino fundamental completo (%)",
"T_MED18A20" ~ "População de 18 a 20 anos de idade com o ensino médio completo (%)",
"IDHM_R" ~ "IDHM Renda",
"RDPC" ~ "Renda mensal per capita (R$)"
)
| TABELA 1: IDHM DO BRASIL – 1991, 2000 E 2010 | ||||
| DIMENSÃO | ÍNDICES E INDICADORES | 1991 | 2000 | 2010 |
|---|---|---|---|---|
| IDHM | 0.493 | 0.612 | 0.727 | |
| Longevidade | IDHM Longevidade | 0.662 | 0.727 | 0.816 |
| Esperança de vida ao nascer (anos) | 64.7 | 68.6 | 73.9 | |
| Educação | IDHM Educação | 0.279 | 0.456 | 0.637 |
| Subíndice: Escolaridade da população adulta | 0.301 | 0.398 | 0.549 | |
| População com 18 anos de idade ou mais que concluiu o ensino fundamental (%) | 30.1 | 39.8 | 54.9 | |
| Subíndice: Fluxo escolar da população jovem | 0.268 | 0.488 | 0.686 | |
| População de 5 a 6 anos de idade frequentando a escola (%) | 37.3 | 71.5 | 91.1 | |
| População de 11 a 13 anos de idade frequentando os anos finais do ensino fundamental*(%) | 36.8 | 59.1 | 84.9 | |
| População de 15 a 17 anos de idade com o ensino fundamental completo (%) | 20.0 | 39.7 | 57.2 | |
| População de 18 a 20 anos de idade com o ensino médio completo (%) | 13.0 | 24.8 | 41.0 | |
| Renda | IDHM Renda | 0.647 | 0.692 | 0.739 |
| Renda mensal per capita (R$) | 447.56 | 592.46 | 793.87 | |
| *Anos finais: 6º ao 9º ano do ensino fundamental | ||||
| Fonte: IPEA, PNUD e FJP | ||||
IDHM DO BRASIL - 1991, 2000 E 2010
Carregando o DATA FRAME dos MUNICÍPIOS DO BRASIL - pacote GEOBR
df_mun <- read_municipality(code_muni = "all", year = 2020, simplified = TRUE,
showProgress = F)
df_mun2 <- subset(df_mun, select = c (1, 2, 5, 7, 8))
rm(df_mun)
Carregamento base de dados: Atlas 2013_municipal
atlas_brasil_2013 <- read_excel("Bases Censo/Atlas 2013_municipal, estadual e Brasil.xlsx",
sheet = "MUN 91-00-10")
mapa<- subset(atlas_brasil_2013,
select=c(Codmun7, UF, ANO, IDHM, IDHM_L, IDHM_E, IDHM_R))
Adicionando FAIXAS DO IDHM ao DATA FRAME mapa
CATEGORIAS DE IDHM
MUITO ALTO: 0,800 - 1,000 ALTO: 0,700 - 0,799 MÉDIO: 0,600 - 0,699 BAIXO: 0,500 - 0,599 MUITO BAIXO: 0,000 - 0,499
Categorias conforme Índice de Desenvolvimento Humano Municipal: * IDMH * IDMH Educação * IDMH Longevidade * IDMH Renda
mapa$Faixa_IDHM <- ifelse(mapa$IDHM >= 0.8, "Muito Alto",
ifelse(0.8 > mapa$IDHM & mapa$IDHM >= 0.7 , "Alto",
ifelse(0.7 > mapa$IDHM & mapa$IDHM >= 0.6, "Médio",
ifelse(0.6 > mapa$IDHM & mapa$IDHM >= 0.5, "Baixo",
ifelse(mapa$IDHM < 0.5, "Muito Baixo", NA)))))
mapa$Faixa_Longevidade <- ifelse(mapa$IDHM_L >= 0.8, "Muito Alto",
ifelse(0.8 > mapa$IDHM_L & mapa$IDHM_L >= 0.7 , "Alto",
ifelse(0.7 > mapa$IDHM_L & mapa$IDHM_L >= 0.6, "Médio",
ifelse(0.6 > mapa$IDHM_L & mapa$IDHM_L >= 0.5, "Baixo",
ifelse(mapa$IDHM_L < 0.5, "Muito Baixo", NA)))))
mapa$Faixa_Educacao <- ifelse(mapa$IDHM_E >= 0.8, "Muito Alto",
ifelse(0.8 > mapa$IDHM_E & mapa$IDHM_E >= 0.7 , "Alto",
ifelse(0.7 > mapa$IDHM_E & mapa$IDHM_E >= 0.6, "Médio",
ifelse(0.6 > mapa$IDHM_E & mapa$IDHM_E>=0.5,"Baixo",
ifelse(mapa$IDHM_E < 0.5, "Muito Baixo", NA)))))
mapa$Faixa_Renda <- ifelse(mapa$IDHM_R >= 0.8, "Muito Alto",
ifelse(0.8 > mapa$IDHM_R & mapa$IDHM_R >= 0.7 , "Alto",
ifelse(0.7 > mapa$IDHM_R & mapa$IDHM_R >= 0.6, "Médio",
ifelse(0.6 > mapa$IDHM_R & mapa$IDHM_R >= 0.5, "Baixo",
ifelse(mapa$IDHM_R < 0.5, "Muito Baixo", NA)))))
LEFT-JOIN: União da base de dados tratada (mapa) com o SIMPLE FEATURE dos municípios brasileiros do IBGE (pacote GeoBR)
df_mapa <- left_join(mapa, df_mun2, join_by("Codmun7" == "code_muni"))
Difícil visualização, sugestão FILTER por UF
df_mapa %>%
# filter(ANO == 2010) %>%
st_as_sf() %>%
ggplot() +
geom_sf(aes(fill = factor(Faixa_IDHM)), color = "black", size = 0.5) +
coord_sf() +
ggtitle("MAPA 1: IDHM DO BRASIL – 1991, 2000 E 2010") +
theme(plot.title = element_text(lineheight=.8, face="bold")) +
theme(legend.position = "right") +
theme(legend.title=element_blank()) +
scale_fill_manual(values=c("#00CCFF","#00A600","#FFFF00","#FF9900","#FF0033"),
breaks=c("Muito Alto","Alto","Médio", "Baixo", "Muito Baixo"),
labels=c("Muito alto (acima de 0,800)",
"Alto (0,700 até 0,799)",
"Médio (0,600 até 0,699)",
"Baixo (0,500 até 0,499)",
"Muito baixo (0,000 até 0,500)")) +
facet_wrap(~ ANO)
Difícil visualização, sugestão FILTER por UF: UF 14 Amapá
df_mapa %>%
filter(UF == 14) %>%
st_as_sf() %>%
ggplot() +
geom_sf(aes(fill = factor(Faixa_Renda)), color = "black", size = 0.5, show.legend = T) +
geom_sf_text(aes(label = name_muni), check_overlap = F) +
coord_sf() +
ggtitle("MAPA 1: IDHM DO AMAPÁ – 1991, 2000 E 2010") +
theme(plot.title = element_text(lineheight=.8, face="bold")) +
theme(legend.position = "right") +
theme(legend.title=element_blank()) +
scale_fill_manual(values=c("#00CCFF","#00A600","#FFFF00","#FF9900","#FF0033"),
breaks=c("Muito Alto","Alto","Médio", "Baixo", "Muito Baixo"),
labels=c("Muito alto (acima de 0,800)",
"Alto (0,700 até 0,799)",
"Médio (0,600 até 0,699)",
"Baixo (0,500 até 0,499)",
"Muito baixo (0,000 até 0,500)")) +
facet_wrap(~ ANO)
df_mapa$Faixa_IDHM <- factor(df_mapa$Faixa_IDHM,
levels = c("Muito Alto", "Alto", "Médio", "Baixo", "Muito Baixo"))
df_mapa %>%
select(Faixa_IDHM, ANO) %>%
tbl_summary(by = ANO,
label = list(Faixa_IDHM ~ " "),
digits = ~ 2,) %>%
modify_header(label = "**Desenvolvimento Humano**") %>%
modify_spanning_header(c("stat_1", "stat_2", "stat_3") ~ "**Número de Muncípios**") %>%
modify_caption("**TABELA 2: DISTRIBUIÇÃO DOS MUNICÍPIOS FAIXAS
DE DESENVOLVIMENTO HUMANO MUNICIPAL – 1991, 2000 E 2010**") %>%
modify_footnote(all_stat_cols() ~ "Fonte: IPEA, PNUD e FJP")
| Desenvolvimento Humano | Número de Muncípios | ||
|---|---|---|---|
| 1991, N = 5,5651 | 2000, N = 5,5651 | 2010, N = 5,5651 | |
| Muito Alto | 0.00 (0.00%) | 1.00 (0.02%) | 44.00 (0.79%) |
| Alto | 0.00 (0.00%) | 133.00 (2.39%) | 1,889.00 (33.94%) |
| Médio | 43.00 (0.77%) | 1,451.00 (26.07%) | 2,233.00 (40.13%) |
| Baixo | 745.00 (13.39%) | 1,652.00 (29.69%) | 1,367.00 (24.56%) |
| Muito Baixo | 4,777.00 (85.84%) | 2,328.00 (41.83%) | 32.00 (0.58%) |
| 1 Fonte: IPEA, PNUD e FJP | |||
df_mapa %>%
select(name_region, ANO, Faixa_IDHM) %>%
subset(ANO == '2010') %>%
mutate(name_region = factor(name_region, levels = c("Norte", "Nordeste", "Centro Oeste", "Sudeste", "Sul"))) %>%
tbl_summary(by = Faixa_IDHM,
label = list(name_region ~ "Brasil"),
percent = NULL ,
include = name_region) %>%
modify_header(label = "**Macrorregiões**") %>%
modify_spanning_header(starts_with("stat_") ~ "**Municípios por Nível do IDHM**")%>%
modify_caption("**TABELA 3: PERCENTUAL DE MUNICÍPIOS POR MACRORREGIÃO
E CLASSIFICAÇÃO DO IDHM PARA 2010**") %>%
modify_footnote(all_stat_cols() ~ "Fonte: IPEA, PNUD e FJP")
| Macrorregiões | Municípios por Nível do IDHM | ||||
|---|---|---|---|---|---|
| Muito Alto, N = 441 | Alto, N = 1,8891 | Médio, N = 2,2331 | Baixo, N = 1,3671 | Muito Baixo, N = 321 | |
| Brasil | |||||
| Norte | 0 (0%) | 25 (1.3%) | 226 (10%) | 180 (13%) | 18 (56%) |
| Nordeste | 0 (0%) | 34 (1.8%) | 647 (29%) | 1,099 (80%) | 14 (44%) |
| Centro Oeste | 1 (2.3%) | 190 (10%) | 265 (12%) | 10 (0.7%) | 0 (0%) |
| Sudeste | 29 (66%) | 871 (46%) | 695 (31%) | 73 (5.3%) | 0 (0%) |
| Sul | 14 (32%) | 769 (41%) | 400 (18%) | 5 (0.4%) | 0 (0%) |
| 1 Fonte: IPEA, PNUD e FJP | |||||
Para elaboração da tabela 4 precisamos desenhar outros dataframes
Intervalo Menor IDHM
gt_min <- df_mapa %>%
subset(ANO == '2010') %>%
group_by(name_region) %>%
summarize(IDHM_m = min(IDHM), Municipio = name_muni[which(IDHM == min(IDHM))])
gt_min$Intervalo_IDHM <- c("Menor IDHM", "Menor IDHM", "Menor IDHM", "Menor IDHM", "Menor IDHM")
Intervalo Maior IDHM
gt_max <- df_mapa %>%
subset(ANO == '2010') %>%
group_by(name_region) %>%
summarize(IDHM_m = max(IDHM), Municipio = name_muni[which(IDHM == max(IDHM))])
gt_max$Intervalo_IDHM <- c("Maior IDHM", "Maior IDHM", "Maior IDHM", "Maior IDHM", "Maior IDHM")
Combinando data frames MIN e MAX
gt_c <- combine(gt_max, gt_min)
gt_c%>%
gt(
groupname_col = "name_region",
) %>%
cols_move_to_start(columns = Intervalo_IDHM) %>%
cols_move_to_end(columns = IDHM_m) %>%
tab_header(md("**TABELA 4: DESTAQUES DO IDHM 2010**")) %>%
tab_footnote("Fonte: IPEA, PNUD e FJP") %>%
cols_label(Intervalo_IDHM = md(" "), Municipio = md("**Município**"), IDHM_m = md("**IDHM**"))
| TABELA 4: DESTAQUES DO IDHM 2010 | ||
| Município | IDHM | |
|---|---|---|
| Centro Oeste | ||
| Maior IDHM | Brasília | 0.824 |
| Menor IDHM | Japorã | 0.526 |
| Nordeste | ||
| Maior IDHM | Fernando De Noronha | 0.788 |
| Menor IDHM | Fernando Falcão | 0.443 |
| Norte | ||
| Maior IDHM | Palmas | 0.788 |
| Menor IDHM | Melgaço | 0.418 |
| Sudeste | ||
| Maior IDHM | São Caetano Do Sul | 0.862 |
| Menor IDHM | São João Das Missões | 0.529 |
| Sul | ||
| Maior IDHM | Florianópolis | 0.847 |
| Menor IDHM | Doutor Ulysses | 0.546 |
| Fonte: IPEA, PNUD e FJP | ||
Elaboração MAPA 2
Faixa_Longevidade - MAPA 2: EVOLUÇÃO DO IDHM LONGEVIDADE A PARTIR DA MÉDIA DE CRESCIMENTO BRASILEIRA PARA 2000 E 2010
Faixa_Educacao - MAPA 2: EVOLUÇÃO DO IDHM EDUCAÇÃO A PARTIR DA MÉDIA DE CRESCIMENTO BRASILEIRA PARA 2000 E 2010 Faixa_Renda - MAPA 2: EVOLUÇÃO DO IDHM RENDA A PARTIR DA MÉDIA DE CRESCIMENTO BRASILEIRA PARA 2000 E 2010
Faixa_Longevidade
mapa_Longevidade <- subset(atlas_brasil_2013,
select=c(Codmun7, UF, ANO, IDHM_L))
Pivot - Wide to Long
df_mapa_Longevidade <- mapa_Longevidade %>%
pivot_wider(
names_expand = F,
names_from = ANO,
names_prefix = "ANO",
values_from = c(IDHM_L)
)
df_mapa_Longevidade$Evolucao <-(df_mapa_Longevidade$ANO2010 - df_mapa_Longevidade$ANO2000)
STANDARD DEVIATION
sd(df_mapa_Longevidade$Evolucao) # = 0.03343277
## [1] 0.03343277
sd(df_mapa_Longevidade$ANO2010) # = 0.04468086
## [1] 0.04468086
IDHM_Longevidade 2000 e 2010 = 0.816 e 0.727
0.816 - 0.727 = 0.089
Muito acima da média (acima de 0,122)“, Acima da média (0,089 até 0,122)”, Abaixo da média (0,056 até 0,089)“, Muito abaixo da média (abaixo 0,056)
EVOLUÇÃO DO IDHM LONGEVIDADE A PARTIR DA MÉDIA DE CRESCIMENTO BRASILEIRA PARA 2000 E 2010
df_mapa_Longevidade$Evolucao_Longevidade <-
ifelse(df_mapa_Longevidade$Evolucao > 0.122, "Muito acima da média",
ifelse(0.122 >= df_mapa_Longevidade$Evolucao & df_mapa_Longevidade$Evolucao >= 0.089 , "Acima da média",
ifelse(0.089 >= df_mapa_Longevidade$Evolucao & df_mapa_Longevidade$Evolucao >= 0.056, "Abaixo da média",
ifelse(df_mapa_Longevidade$Evolucao < 0.056, "Muito abaixo da média", NA))))
LEFT-JOIN: união base de dados do df_mapa_Longevidade com a base de dados do pacote GEOBR df_mun2
df_Long_Mapa <- left_join(df_mapa_Longevidade, df_mun2, join_by("Codmun7" == "code_muni"))
MAPA 2: EVOLUÇÃO DO IDHM LONGEVIDADE A PARTIR DA MÉDIA DE CRESCIMENTO BRASILEIRA PARA 2000 E 2010
df_Long_Mapa %>%
filter(name_region == "Norte") %>%
st_as_sf() %>%
ggplot() +
geom_sf(aes(fill = factor(Evolucao_Longevidade)), color = "black", size = 0.5, show.legend = T) +
# geom_sf_text(aes(label = name_muni), check_overlap = TRUE) +
coord_sf() +
ggtitle("MAPA 2: EVOLUÇÃO DO IDHM LONGEVIDADE A PARTIR DA MÉDIA DE CRESCIMENTO BRASILEIRA PARA 2000 E 2010") +
theme(plot.title = element_text(lineheight=.8, face="bold")) +
theme(legend.position = "right") +
theme(legend.title=element_blank()) +
scale_fill_manual(values=c("#00CCFF","#00A600","#FF9900","#FF0033"),
breaks=c("Muito acima da média","Acima da média","Abaixo da média", "Muito abaixo da média"),
labels=c("Muito acima da média (acima de 0,122)",
"Acima da média (0,089 até 0,122)",
"Abaixo da média (0,056 até 0,089)",
"Muito abaixo da média (abaixo 0,056)"))
## GRÁFICO 2: DISTRIBUIÇÃO DO IDHM LONGEVIDADE – 1991/2010
Faixa_Longevidade
distribuicao <- subset(atlas_brasil_2013,
select=c(Codmun7, UF, ANO, IDHM_L))
Order() function in R: Create an ID (row number) - by ANO and by variable value (min to max)
distribuicao <- distribuicao[order(distribuicao$ANO, distribuicao$IDHM_L), ]
id <- c(1:5565)
distribuicao <- cbind(distribuicao, id)
How to Normalize Data Between 0 and 100
min_max_norm <- function(x) {
(x - 1) / (5565 - 1) *100
}
distribuicao$x.scale <- as.numeric(lapply(distribuicao$id, min_max_norm))
ggplot(distribuicao) +
aes(x = x.scale, y = IDHM_L, color = ANO) +
geom_point() +
ggtitle("GRÁFICO 2: DISTRIBUIÇÃO DO IDHM EDUCAÇÃO – 1991/2010") +
scale_y_continuous(breaks = seq(.4, 1, by = .2), expand = c(0,0)) + #expand = c(.4,1)
scale_x_continuous(n.breaks = 10) +
theme_bw() +
theme(axis.title = element_blank()) +
theme(panel.grid.major.y = element_line(color = "grey",
size = .5,
linetype = 1),
panel.grid.minor.y = element_blank(),
panel.grid.minor.x = element_blank(),
panel.grid.major.x = element_blank()) +
geom_text(data = distribuicao %>% filter(x.scale == last(x.scale)), aes(label = ANO,
x = x.scale + 1.5,
y = IDHM_L - 0.01,
color = ANO),
check_overlap = T) +
theme(legend.position = "none") +
coord_cartesian(ylim = c(.38, 1))
Mapa 3 - Aplicado por IDHMs e Regiões
df_Long_Mapa3 <- df_Long_Mapa
Quartil com 5 intervalos
df_Long_Mapa3$quantile <- ntile(df_Long_Mapa3$ANO2010, 5)
Cáculo dos intervalos quartis que devem ser colocados na legenda MAPA E TABELA
quantile(df_Long_Mapa3$ANO2010, probs = c(0,0.2,0.4,0.6,0.8,1))
## 0% 20% 40% 60% 80% 100%
## 0.672 0.760 0.795 0.819 0.842 0.894
df_Long_Mapa3 %>%
filter(name_region == "Norte") %>%
st_as_sf() %>%
ggplot() +
geom_sf(aes(fill = factor(quantile)), color = "black", size = 0.5, show.legend = T) +
# geom_sf_text(aes(label = Município), check_overlap = TRUE) +
coord_sf() +
ggtitle("MAPA 3: IDHM LONGEVIDADE – REGIÃO NORTE – 2010") +
theme(plot.title = element_text(lineheight=.8, face="bold")) +
theme(legend.position = "right") +
theme(legend.title=element_blank()) +
scale_fill_manual(values=c("#ff00ff","#00A600","#FFFF00","#FF9900","#FF0033"),
breaks=c("5","4","3", "2", "1"),
labels=c("1º quinto 0,843 - 0,894",
"2º quinto 0,820 - 0,842",
"3º quinto 0,796 - 0,819",
"4º quinto 0,761 - 0,795",
"5º quinto 0,672 - 0,760"))
Tabela apresentada dentro da legenda do Mapa 3
df_Long_Table3 <- subset(df_Long_Mapa3, select = -c(11))
df_Long_Table3 %>%
select(name_region, quantile) %>%
tbl_summary(by = quantile,
label = list(name_region ~ "Regiões"),
percent = NULL) %>%
modify_header(label = "**Brasil**") %>%
modify_spanning_header(starts_with("stat_") ~ "**Municípios por Nível do IDHM**")%>%
modify_caption("**TABELA 3: EVOLUÇÃO DO IDHM LONGEVIDADE – REGIÃO NORTE – 2000/2010**") %>%
modify_footnote(all_stat_cols() ~ "Fonte: IPEA, PNUD e FJP")
| Brasil | Municípios por Nível do IDHM | ||||
|---|---|---|---|---|---|
| 1, N = 1,1131 | 2, N = 1,1131 | 3, N = 1,1131 | 4, N = 1,1131 | 5, N = 1,1131 | |
| Regiões | |||||
| Centro Oeste | 0 (0%) | 24 (2.2%) | 178 (16%) | 201 (18%) | 63 (5.7%) |
| Nordeste | 976 (88%) | 686 (62%) | 107 (9.6%) | 25 (2.2%) | 0 (0%) |
| Norte | 115 (10%) | 180 (16%) | 118 (11%) | 31 (2.8%) | 5 (0.4%) |
| Sudeste | 22 (2.0%) | 142 (13%) | 461 (41%) | 496 (45%) | 547 (49%) |
| Sul | 0 (0%) | 81 (7.3%) | 249 (22%) | 360 (32%) | 498 (45%) |
| 1 Fonte: IPEA, PNUD e FJP | |||||
Mapa 4 - Aplicado por IDHMs e Regiões MAPA 4: EVOLUÇÃO DO IDHM LONGEVIDADE – REGIÃO NORTE – 2000/2010
df_Long_Mapa4 <- df_Long_Mapa
Quartil com 5 intervalos
df_Long_Mapa4$quantile <- ntile(df_Long_Mapa4$Evolucao, 5)
Cáculo dos intervalos quartis que devem ser colocados na legenda MAPA E TABELA
quantile(df_Long_Mapa4$Evolucao, probs = c(0,0.2,0.4,0.6,0.8,1))
## 0% 20% 40% 60% 80% 100%
## 0.0020 0.0460 0.0680 0.0880 0.1092 0.1450
MAPA 4: Evolução e Desempenho nos Municípios 2000-2010 – Região Norte
df_Long_Mapa4 %>%
filter(name_region == "Norte") %>%
st_as_sf() %>%
ggplot() +
geom_sf(aes(fill = factor(quantile)), color = "black", size = 0.5, show.legend = T) +
# geom_sf_text(aes(label = Município), check_overlap = TRUE) +
coord_sf() +
ggtitle("MAPA 4: EVOLUÇÃO DO IDHM LONGEVIDADE – REGIÃO NORTE – 2000/2010") +
theme(plot.title = element_text(lineheight=.8, face="bold")) +
theme(legend.position = "right") +
theme(legend.title=element_blank()) +
scale_fill_manual(values=c("#08306b","#217185","#6baed6","#c6dbef","#f7fbff"),
breaks=c("5","4","3", "2", "1"),
labels=c("1º quinto 0,110 - 0,145",
"2º quinto 0,089 - 0,109 ",
"3º quinto 0,069 - 0,088",
"4º quinto 0,047 - 0,068",
"5º quinto 0,002 - 0,046"))
Tabela apresentada dentro da legenda
df_Long_Table4 <- subset(df_Long_Mapa4, select = -c(11))
df_Long_Table4 %>%
select(name_region, quantile) %>%
tbl_summary(by = quantile,
label = list(name_region ~ "Brasil"),
percent = NULL) %>%
modify_header(label = "**Macrorregiões**") %>%
modify_spanning_header(starts_with("stat_") ~ "**Municípios por Nível do IDHM**")%>%
modify_caption("**TABELA 4: EVOLUÇÃO DO IDHM LONGEVIDADE – REGIÃO NORTE – 2000/2010**") %>%
modify_footnote(all_stat_cols() ~ "Fonte: IPEA, PNUD e FJP")
| Macrorregiões | Municípios por Nível do IDHM | ||||
|---|---|---|---|---|---|
| 1, N = 1,1131 | 2, N = 1,1131 | 3, N = 1,1131 | 4, N = 1,1131 | 5, N = 1,1131 | |
| Brasil | |||||
| Centro Oeste | 88 (7.9%) | 120 (11%) | 97 (8.7%) | 134 (12%) | 27 (2.4%) |
| Nordeste | 144 (13%) | 151 (14%) | 244 (22%) | 321 (29%) | 934 (84%) |
| Norte | 45 (4.0%) | 74 (6.6%) | 79 (7.1%) | 108 (9.7%) | 143 (13%) |
| Sudeste | 451 (41%) | 422 (38%) | 400 (36%) | 386 (35%) | 9 (0.8%) |
| Sul | 385 (35%) | 346 (31%) | 293 (26%) | 164 (15%) | 0 (0%) |
| 1 Fonte: IPEA, PNUD e FJP | |||||