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 1: IDHM DO BRASIL – 1991, 2000 E 2010

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

Elaboração do MAPA 1

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

Faixas IDHM - Índice de Desenvolvimento Humano Municipal

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)))))

Faixas IDHM - Longevidade

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)))))

Faixas IDHM - Educação

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)))))

Faixas IDHM - Renda

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"))

MAPA 1: IDHM DO BRASIL – 1991, 2000 E 2010

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) 

ATRIBUIR ORDEM A FAIXA DE IDHM

df_mapa$Faixa_IDHM <- factor(df_mapa$Faixa_IDHM, 
                                 levels = c("Muito Alto", "Alto", "Médio", "Baixo", "Muito Baixo"))

TABELA 2 | GRÁFICO 1: DISTRIBUIÇÃO DOS MUNICÍPIOS FAIXAS DE DESENVOLVIMENTO HUMANO MUNICIPAL – 1991, 2000 E 2010

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")
TABELA 2: DISTRIBUIÇÃO DOS MUNICÍPIOS FAIXAS DE DESENVOLVIMENTO HUMANO MUNICIPAL – 1991, 2000 E 2010
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

TABELA 3: PERCENTUAL DE MUNICÍPIOS POR MACRORREGIÃO E CLASSIFICAÇÃO DO IDHM PARA 2010

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") 
TABELA 3: PERCENTUAL DE MUNICÍPIOS POR MACRORREGIÃO E CLASSIFICAÇÃO DO IDHM PARA 2010
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)

TABELA 4: DESTAQUES DO IDHM 2010

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

MAPA 3: IDHM LONGEVIDADE – REGIÃO NORTE – 2010

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") 
TABELA 3: EVOLUÇÃO DO IDHM LONGEVIDADE – REGIÃO NORTE – 2000/2010
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") 
TABELA 4: EVOLUÇÃO DO IDHM LONGEVIDADE – REGIÃO NORTE – 2000/2010
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