Explorando a tabela 6803

Domicílios particulares permanentes ocupados, por existência de ligação à rede geral de distribuição de água e principal forma de abastecimento de água

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_6803 <- read_xlsx("dados/tabela6803_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") |> 
  separate(nome_muni, c("nome_muni", "uf"), sep = "\\(") |> 
  mutate(uf = str_remove(uf, "\\)"),
         nome_muni = stringr::str_trim(nome_muni)) |>
  mutate(across(
    -c(
      nome_muni, uf,
      total,
      possui_ligacao_a_rede_geral_e_a_utiliza_como_forma_principal
    ),
    readr::parse_number
  )) 


head(tab_6803) |> 
  knitr::kable()
nome_muni uf total possui_ligacao_a_rede_geral_e_a_utiliza_como_forma_principal possui_ligacao_a_rede_geral_mas_utiliza_principalmente_outra_forma possui_ligacao_a_rede_geral_mas_utiliza_principalmente_outra_forma_poco_profundo_ou_artesiano possui_ligacao_a_rede_geral_mas_utiliza_principalmente_outra_forma_poco_raso_freatico_ou_cacimba possui_ligacao_a_rede_geral_mas_utiliza_principalmente_outra_forma_fonte_nascente_ou_mina possui_ligacao_a_rede_geral_mas_utiliza_principalmente_outra_forma_carro_pipa possui_ligacao_a_rede_geral_mas_utiliza_principalmente_outra_forma_agua_da_chuva_armazenada possui_ligacao_a_rede_geral_mas_utiliza_principalmente_outra_forma_rios_acudes_corregos_lagos_e_igarapes possui_ligacao_a_rede_geral_mas_utiliza_principalmente_outra_forma_outra nao_possui_ligacao_com_a_rede_geral nao_possui_ligacao_com_a_rede_geral_poco_profundo_ou_artesiano nao_possui_ligacao_com_a_rede_geral_poco_raso_freatico_ou_cacimba nao_possui_ligacao_com_a_rede_geral_fonte_nascente_ou_mina nao_possui_ligacao_com_a_rede_geral_carro_pipa nao_possui_ligacao_com_a_rede_geral_agua_da_chuva_armazenada nao_possui_ligacao_com_a_rede_geral_rios_acudes_corregos_lagos_e_igarapes nao_possui_ligacao_com_a_rede_geral_outra
Adamantina SP 13583 13178 16 14 1 NA NA NA NA 1 389 337 44 6 2 NA NA NA
Adolfo SP 1650 1459 74 59 15 NA NA NA NA NA 117 113 4 NA NA NA NA NA
Aguaí SP 11480 10718 86 64 7 10 2 NA NA 3 676 380 218 69 7 NA NA 2
Águas da Prata SP 2830 2543 29 16 1 12 NA NA NA NA 258 34 14 208 1 NA 1 NA
Águas de Lindóia SP 6799 6398 139 46 13 80 NA NA NA NA 262 69 22 167 1 NA 1 2
Águas de Santa Bárbara SP 2710 2368 17 11 NA 3 NA NA 1 2 325 246 7 52 11 NA 2 7
tab_6803_longa <- tab_6803 |> 
  pivot_longer(cols = -c(nome_muni, total, uf),
               names_to = "variavel",
               values_to = "valor") 

head(tab_6803_longa) |> 
  knitr::kable()
nome_muni uf total variavel valor
Adamantina SP 13583 possui_ligacao_a_rede_geral_e_a_utiliza_como_forma_principal 13178
Adamantina SP 13583 possui_ligacao_a_rede_geral_mas_utiliza_principalmente_outra_forma 16
Adamantina SP 13583 possui_ligacao_a_rede_geral_mas_utiliza_principalmente_outra_forma_poco_profundo_ou_artesiano 14
Adamantina SP 13583 possui_ligacao_a_rede_geral_mas_utiliza_principalmente_outra_forma_poco_raso_freatico_ou_cacimba 1
Adamantina SP 13583 possui_ligacao_a_rede_geral_mas_utiliza_principalmente_outra_forma_fonte_nascente_ou_mina NA
Adamantina SP 13583 possui_ligacao_a_rede_geral_mas_utiliza_principalmente_outra_forma_carro_pipa NA

Explorando os dados

Explorando os dados. As categorias são mutuamente exclusivas? Não! Ter cuidado. Precisamos tirar as categorias “nao_possui_ligacao_com_a_rede_geral” e “possui_ligacao_a_rede_geral_mas_utiliza_principalmente_outra_forma” para não contar 2x.

tab_6803_longa |> 
  filter(!variavel %in% c("nao_possui_ligacao_com_a_rede_geral",
  "possui_ligacao_a_rede_geral_mas_utiliza_principalmente_outra_forma")) |> 
  group_by(nome_muni, total) |>
  summarise(soma = sum(valor, na.rm = TRUE)) |> 
  mutate(verificacao = total == soma) |> 
  glimpse()
Rows: 645
Columns: 4
Groups: nome_muni [645]
$ nome_muni   <chr> "Adamantina", "Adolfo", "Aguaí", "Agudos", "Alambari", "Al…
$ total       <dbl> 13583, 1650, 11480, 12936, 2139, 1726, 1278, 6078, 1518, 5…
$ soma        <dbl> 13583, 1650, 11480, 12936, 2139, 1726, 1278, 6078, 1518, 5…
$ verificacao <lgl> TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE…

Respondendo a pergunta

tab_amauri_6803 <- 
  tab_6803_longa |>
  # 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(
    variavel %in% c(
      "possui_ligacao_a_rede_geral_e_a_utiliza_como_forma_principal",
      "possui_ligacao_a_rede_geral_mas_utiliza_principalmente_outra_forma",
      "nao_possui_ligacao_com_a_rede_geral"
    )) |> 
  mutate(porc = round((valor / total)*100,2)) |> 
  pivot_wider(names_from = variavel, values_from = c(valor, porc)) 


head(tab_amauri_6803) |> 
  knitr::kable()
nome_muni categoria_tabela uf total valor_possui_ligacao_a_rede_geral_e_a_utiliza_como_forma_principal valor_possui_ligacao_a_rede_geral_mas_utiliza_principalmente_outra_forma valor_nao_possui_ligacao_com_a_rede_geral porc_possui_ligacao_a_rede_geral_e_a_utiliza_como_forma_principal porc_possui_ligacao_a_rede_geral_mas_utiliza_principalmente_outra_forma porc_nao_possui_ligacao_com_a_rede_geral
Barueri Prioritários para Tarcísio SP 109460 109071 191 198 99.64 0.17 0.18
Botucatu Sedes regionais da Sabesp SP 54424 52907 301 1216 97.21 0.55 2.23
Caraguatatuba Sedes regionais da Sabesp SP 48632 46417 578 1637 95.45 1.19 3.37
Carapicuíba Intermediários SP 136793 135698 442 653 99.20 0.32 0.48
Cotia Intermediários SP 95935 89693 1373 4869 93.49 1.43 5.08
Diadema Prioritários para Tarcísio SP 144824 144586 103 135 99.84 0.07 0.09
tab_amauri_6803 |> 
  writexl::write_xlsx("output/tabela_amauri_6803.xlsx")