Explorando a tabela 6805

Domicílios particulares permanentes ocupados, por tipo de esgotamento sanitário

Autores

Amauri Polacchi

Beatriz Milz

Dependências

Carregando pacotes necessários:

library(tidyverse)
library(readxl)
library(janitor)

Carregando os municípios de interesse:

source("R/municipios_interesse.R")

Leitura e limpeza dos dados

tab_6805 <-
  readxl::read_xlsx("dados/tabela6805_MUN_SP.xlsx", skip = 4) |>
  janitor::clean_names() |>
  rename(nome_muni = x1) |>
  filter(nome_muni != "Fonte: IBGE - Censo Demográfico",
         nome_muni != "São Paulo") |>
  mutate(across(
    -c(
      nome_muni,
      total,
      rede_geral_rede_pluvial_ou_fossa_ligada_a_rede,
      rede_geral_ou_pluvial
    ),
    readr::parse_number
  )) |>
  separate(nome_muni, c("nome_muni", "uf"), sep = "\\(") |>
  mutate(uf = str_remove(uf, "\\)"),
         nome_muni = stringr::str_trim(nome_muni))


head(tab_6805) |> 
  knitr::kable()
nome_muni uf total rede_geral_rede_pluvial_ou_fossa_ligada_a_rede rede_geral_ou_pluvial fossa_septica_ou_fossa_filtro_ligada_a_rede fossa_septica_ou_fossa_filtro_nao_ligada_a_rede fossa_rudimentar_ou_buraco vala rio_lago_corrego_ou_mar outra_forma nao_tinham_banheiro_nem_sanitario
Adamantina SP 13583 13181 13170 11 141 256 4 NA 1 NA
Adolfo SP 1650 1534 1481 53 109 7 NA NA NA NA
Aguaí SP 11480 10702 10698 4 333 421 4 3 17 NA
Águas da Prata SP 2830 2501 2478 23 136 142 1 38 12 NA
Águas de Lindóia SP 6799 6307 6274 33 176 281 9 17 9 NA
Águas de Santa Bárbara SP 2710 1633 1620 13 1009 48 1 11 7 1
  • Verificando os totais:
tab_6805 |> 
  pivot_longer(-c(nome_muni, uf, total)) |>  
  dplyr::filter(name != "rede_geral_rede_pluvial_ou_fossa_ligada_a_rede") |> 
  group_by(nome_muni, total) |> 
  summarise(soma = sum(value, na.rm = TRUE))
# A tibble: 645 × 3
# Groups:   nome_muni [645]
   nome_muni         total  soma
   <chr>             <dbl> <dbl>
 1 Adamantina        13583 13583
 2 Adolfo             1650  1650
 3 Aguaí             11480 11480
 4 Agudos            12936 12936
 5 Alambari           2139  2139
 6 Alfredo Marcondes  1726  1726
 7 Altair             1278  1278
 8 Altinópolis        6078  6078
 9 Alto Alegre        1518  1518
10 Alumínio           5944  5944
# ℹ 635 more rows

Recategorizando

Verificando as categorias possíveis:

tab_6805 |> 
  pivot_longer(-c(nome_muni, uf, total)) |> 
  distinct(name) |> 
  pull()
[1] "rede_geral_rede_pluvial_ou_fossa_ligada_a_rede" 
[2] "rede_geral_ou_pluvial"                          
[3] "fossa_septica_ou_fossa_filtro_ligada_a_rede"    
[4] "fossa_septica_ou_fossa_filtro_nao_ligada_a_rede"
[5] "fossa_rudimentar_ou_buraco"                     
[6] "vala"                                           
[7] "rio_lago_corrego_ou_mar"                        
[8] "outra_forma"                                    
[9] "nao_tinham_banheiro_nem_sanitario"              
# filtrando os municipios que são focos da analise

tab_6805_categorizacao <- tab_6805 |>
  pivot_longer(-c(nome_muni, uf, total)) |>
  # Filtrando os municípios que são foco da análise:
  mutate(
    categoria_tabela = case_when(
      nome_muni %in% muni_prioritarios_para_tarcisio ~ "Prioritários para Tarcísio",
      nome_muni %in% muni_intermediarios ~ "Intermediários",
      nome_muni %in% muni_sedes_regionais_sabesp ~ "Sedes regionais da Sabesp"
    ),
    .after = nome_muni
  ) |>
  drop_na(categoria_tabela) |>
  filter(name != "rede_geral_rede_pluvial_ou_fossa_ligada_a_rede") |>
  # group_by(nome_muni) |>
  # mutate(soma = sum(value, na.rm = TRUE),
  #        prova_real = soma == total) |>
  mutate(
    categoria_esgoto = case_when(
      name == "rede_geral_ou_pluvial" ~
        "cat_01_rede_geral_ou_pluvial",
      name %in% c("fossa_septica_ou_fossa_filtro_ligada_a_rede") ~ "cat_02_fossa_septica_ou_fossa_filtro_ligada_a_rede",
      name %in% c("fossa_septica_ou_fossa_filtro_nao_ligada_a_rede") ~ "cat_03_fossa_septica_ou_fossa_filtro_nao_ligada_a_rede",
      name %in% c(
        "fossa_rudimentar_ou_buraco",
        "vala",
        "rio_lago_corrego_ou_mar",
        "outra_forma"  ,
        "nao_tinham_banheiro_nem_sanitario"
      ) ~ "cat_04_outros"
    )
  )

head(tab_6805_categorizacao) |> 
  knitr::kable()
nome_muni categoria_tabela uf total name value categoria_esgoto
Barueri Prioritários para Tarcísio SP 109460 rede_geral_ou_pluvial 105791 cat_01_rede_geral_ou_pluvial
Barueri Prioritários para Tarcísio SP 109460 fossa_septica_ou_fossa_filtro_ligada_a_rede 1089 cat_02_fossa_septica_ou_fossa_filtro_ligada_a_rede
Barueri Prioritários para Tarcísio SP 109460 fossa_septica_ou_fossa_filtro_nao_ligada_a_rede 1404 cat_03_fossa_septica_ou_fossa_filtro_nao_ligada_a_rede
Barueri Prioritários para Tarcísio SP 109460 fossa_rudimentar_ou_buraco 186 cat_04_outros
Barueri Prioritários para Tarcísio SP 109460 vala 53 cat_04_outros
Barueri Prioritários para Tarcísio SP 109460 rio_lago_corrego_ou_mar 601 cat_04_outros

Respondendo a pergunta

tab_6805_amauri <- tab_6805_categorizacao |>
  group_by(nome_muni, categoria_tabela, uf, total, categoria_esgoto) |>
  summarise(soma = sum(value, na.rm = TRUE),
            porc = round((soma / total) * 100, 2)) |>
  dplyr::distinct() |>
  pivot_wider(names_from = categoria_esgoto,
              values_from = c(soma, porc))

head(tab_6805_amauri) |> 
  knitr::kable()
nome_muni categoria_tabela uf total soma_cat_01_rede_geral_ou_pluvial soma_cat_02_fossa_septica_ou_fossa_filtro_ligada_a_rede soma_cat_03_fossa_septica_ou_fossa_filtro_nao_ligada_a_rede soma_cat_04_outros porc_cat_01_rede_geral_ou_pluvial porc_cat_02_fossa_septica_ou_fossa_filtro_ligada_a_rede porc_cat_03_fossa_septica_ou_fossa_filtro_nao_ligada_a_rede porc_cat_04_outros
Barueri Prioritários para Tarcísio SP 109460 105791 1089 1404 1176 96.65 0.99 1.28 1.07
Botucatu Sedes regionais da Sabesp SP 54424 51799 287 1416 922 95.18 0.53 2.60 1.69
Caraguatatuba Sedes regionais da Sabesp SP 48632 39760 1269 4736 2867 81.76 2.61 9.74 5.90
Carapicuíba Intermediários SP 136793 118317 2540 4275 11661 86.49 1.86 3.13 8.52
Cotia Intermediários SP 95935 58728 3230 19885 14092 61.22 3.37 20.73 14.69
Diadema Prioritários para Tarcísio SP 144824 141165 1944 931 784 97.47 1.34 0.64 0.54
tab_6805_amauri |>
  writexl::write_xlsx("output/tabela_amauri_6805.xlsx")