library(tidyverse)
library(readxl)
library(janitor)
Explorando a tabela 6805
Domicílios particulares permanentes ocupados, por tipo de esgotamento sanitário
Dependências
Carregando pacotes necessários:
Carregando os municípios de interesse:
source("R/municipios_interesse.R")
Leitura e limpeza dos dados
<-
tab_6805 ::read_xlsx("dados/tabela6805_MUN_SP.xlsx", skip = 4) |>
readxl::clean_names() |>
janitorrename(nome_muni = x1) |>
filter(nome_muni != "Fonte: IBGE - Censo Demográfico",
!= "São Paulo") |>
nome_muni mutate(across(
-c(
nome_muni,
total,
rede_geral_rede_pluvial_ou_fossa_ligada_a_rede,
rede_geral_ou_pluvial
),::parse_number
readr|>
)) separate(nome_muni, c("nome_muni", "uf"), sep = "\\(") |>
mutate(uf = str_remove(uf, "\\)"),
nome_muni = stringr::str_trim(nome_muni))
head(tab_6805) |>
::kable() knitr
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)) |>
::filter(name != "rede_geral_rede_pluvial_ou_fossa_ligada_a_rede") |>
dplyrgroup_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 |>
tab_6805_categorizacao pivot_longer(-c(nome_muni, uf, total)) |>
# Filtrando os municípios que são foco da análise:
mutate(
categoria_tabela = case_when(
%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"
nome_muni
),.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(
== "rede_geral_ou_pluvial" ~
name "cat_01_rede_geral_ou_pluvial",
%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(
name "fossa_rudimentar_ou_buraco",
"vala",
"rio_lago_corrego_ou_mar",
"outra_forma" ,
"nao_tinham_banheiro_nem_sanitario"
~ "cat_04_outros"
)
)
)
head(tab_6805_categorizacao) |>
::kable() knitr
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_categorizacao |>
tab_6805_amauri group_by(nome_muni, categoria_tabela, uf, total, categoria_esgoto) |>
summarise(soma = sum(value, na.rm = TRUE),
porc = round((soma / total) * 100, 2)) |>
::distinct() |>
dplyrpivot_wider(names_from = categoria_esgoto,
values_from = c(soma, porc))
head(tab_6805_amauri) |>
::kable() knitr
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 ::write_xlsx("output/tabela_amauri_6805.xlsx") writexl