Cadastro Unico

Author

Vitor M

1 Introdução

Este relatório analisa dados do Cadastro Único, focando no estado do Pará. Serão exploradas informações sobre renda, acesso a serviços básicos como água e esgotamento sanitário, e educação, com ênfase em grupos vulneráveis como mulheres e meninas negras.

1.1 Juntando Bases de Dados e Foco no Pará

library(tidyverse)
library(gt)

base_amostra_pessoa_201812 <- read_csv2("base_amostra_cad_201812/base_amostra_pessoa_201812.csv")

### base de pessoas
base_amostra_pessoa_201812 <- base_amostra_pessoa_201812 %>%
  mutate(cd_uf = substr(cd_ibge, 1, 2)) %>% filter(cd_uf==15)


### base de familias
base_amostra_familia_201812 <- read_csv2("base_amostra_cad_201812/base_amostra_familia_201812.csv")

base_amostra_familia_201812 <- base_amostra_familia_201812 %>%
  mutate(cd_uf = substr(cd_ibge, 1, 2)) %>% filter(cd_uf==15)



df <- left_join(base_amostra_pessoa_201812, base_amostra_familia_201812)

1.1.1 Análise da Renda Média por Faixas

Exploramos a renda média das famílias, categorizando-as em faixas de extrema pobreza e pobreza.

  • extrema probeza <=70

  • pobre >70 & <141

df <- df %>%
  mutate(renda_extrema_pobreza = ifelse(vlr_renda_media_fam <= 70, vlr_renda_media_fam, NA),
    renda_pobreza = ifelse(vlr_renda_media_fam > 70 & vlr_renda_media_fam < 141, vlr_renda_media_fam, NA)
  )

1.2 Pobreza e Extrema Pobreza no Pará

Calcular quantas pessoas estão em situação de pobreza e extrema pobreza no Pará e a proporção delas em relação ao total de inscritos no Cadastro Único.

total_faixas <- df %>%
  summarise(
    total_extrema_pobreza = sum(!is.na(renda_extrema_pobreza)),
    total_pobreza = sum(!is.na(renda_pobreza)),
    total_familias = n()
  )

total_faixas <- total_faixas %>%
  mutate(
    proporcao_extrema_pobreza = total_extrema_pobreza / total_familias,
    proporcao_pobreza = total_pobreza / total_familias
  )

total_faixas <- df %>%
  summarise(
    total_extrema_pobreza = sum(!is.na(renda_extrema_pobreza)),
    total_pobreza = sum(!is.na(renda_pobreza)),
    total_familias = n()
  ) %>%
  mutate(
    proporcao_extrema_pobreza = total_extrema_pobreza / total_familias,
    proporcao_pobreza = total_pobreza / total_familias
  )

# Transformar para formato longo para facilitar a visualização
dados_longos <- total_faixas %>%
  pivot_longer(cols = starts_with("proporcao"), names_to = "categoria", values_to = "valor")

# viz
ggplot(dados_longos, aes(x = categoria, y = valor, fill = categoria)) +
  geom_bar(stat = "identity", position = position_dodge()) +
  geom_text(aes(label = scales::percent(valor)), vjust = -0.5, color = "black") +
  ylab("Proporção") +
  xlab("") +
  ggtitle("Proporção de Famílias em Extrema Pobreza e Pobreza") +
  scale_fill_brewer(palette = "Pastel1") +
  theme_minimal()

1.3 Acesso a Água e Saneamento

Número de famílias sem acesso adequado a abastecimento de água e esgotamento sanitário e a proporção dessas famílias em relação ao total.

# Adicionar uma coluna para indicar falta de abastecimento de água adequado
df <- df %>%
  mutate(
    sem_abastecimento_agua = cod_abaste_agua_domic_fam %in% c(2, 3, 4)
  )

# Calcular o total e a proporção
total_agua <- df %>%
  summarise(
    total_sem_agua = sum(sem_abastecimento_agua, na.rm = TRUE),
    total_familias = n(),
    proporcao_sem_agua = (total_sem_agua / total_familias*100)
  )

# Visualizar os resultados

total_agua %>% gt
total_sem_agua total_familias proporcao_sem_agua
417022 816419 51.07941

1.3.1 Pessoas sem abastecimento de agua em relação ao total de inscitros no CAD

# Adicionando uma coluna para indicar falta de abastecimento de água adequado
df <- df %>%
  mutate(
    sem_abastecimento_agua = cod_abaste_agua_domic_fam %in% c(2, 3, 4)
  )

# Calcular o total e a proporção
total_agua <- df %>%
  summarise(
    total_sem_agua = sum(sem_abastecimento_agua, na.rm = TRUE),
    total_inscritos = n(),
    proporcao_sem_agua = total_sem_agua / total_inscritos
  )

# Visualização
dados_viz_agua <- data.frame(
  Categoria = "Sem Abastecimento de Água",
  Valor = total_agua$proporcao_sem_agua
)

# Criando o gráfico
ggplot(dados_viz_agua, aes(x = Categoria, y = Valor, fill = Categoria)) +
  geom_bar(stat = "identity") +
  geom_text(aes(label = scales::percent(Valor, accuracy = 0.1)), vjust = -0.5, color = "black") +
  ylab("Proporção") +
  xlab("") +
  ggtitle("Proporção de Pessoas sem Abastecimento de Água no CAD") +
  scale_fill_brewer(palette = "Pastel1") +
  theme_minimal()

2 Situação das Mulheres e Meninas

Analisar especificamente a situação de mulheres e meninas, olhando para aspectos como pobreza, acesso a água e saneamento, e alfabetização.

2.0.0.1 Número de famílias sem esgotamento sanitário adequado e a proporção dessas famílias em relação ao total no Cadastro Único ( codigo 2 a 6)

# Adicionar uma coluna para indicar falta de esgotamento sanitário adequado
df <- df %>%
  mutate(
    sem_esgotamento_sanitario = cod_escoa_sanitario_domic_fam %in% 2:6
  )

# Calcular o total e a proporção
total_esgotamento <- df %>%
  summarise(
    total_sem_esgotamento = sum(sem_esgotamento_sanitario, na.rm = TRUE),
    total_familias = n(),
    proporcao_sem_esgotamento = total_sem_esgotamento / total_familias
  )

# Visualizar os resultados
total_esgotamento %>% gt
total_sem_esgotamento total_familias proporcao_sem_esgotamento
658460 816419 0.8065221

2.0.0.2 Mulheres pobre e extramente pobras (faixa de renda)

# Adicionando as colunas de pobreza e extrema pobreza
df <- df %>%
  mutate(
    em_extrema_pobreza = vlr_renda_media_fam <= 70,
    em_pobreza = vlr_renda_media_fam > 70 & vlr_renda_media_fam < 141,
    e_mulher = cod_sexo_pessoa == 2
  )

# Calculando total e proporções
total_mulheres <- df %>%
  filter(e_mulher) %>%
  summarise(
    total_mulheres = n(),
    total_mulheres_extrema_pobreza = sum(em_extrema_pobreza, na.rm = TRUE),
    total_mulheres_pobreza = sum(em_pobreza, na.rm = TRUE),
    proporcao_mulheres_extrema_pobreza = total_mulheres_extrema_pobreza / total_mulheres,
    proporcao_mulheres_pobreza = total_mulheres_pobreza / total_mulheres
  )

# Visualizar os resultados
total_mulheres %>% gt
total_mulheres total_mulheres_extrema_pobreza total_mulheres_pobreza proporcao_mulheres_extrema_pobreza proporcao_mulheres_pobreza
452866 259376 79893 0.5727434 0.1764164
# Transformando para o formato longo
dados_viz_mulheres <- total_mulheres %>%
  select(contains("proporcao_mulheres")) %>%
  pivot_longer(cols = everything(), names_to = "categoria", values_to = "valor")

# Criando o gráfico
ggplot(dados_viz_mulheres, aes(x = categoria, y = valor, fill = categoria)) +
  geom_bar(stat = "identity") +
  geom_text(aes(label = scales::percent(valor, accuracy = .1)), vjust = -0.5, color = "black") +
  ylab("Proporção") +
  xlab("Categoria") +
  ggtitle("Proporção de Mulheres em Pobreza e Extrema Pobreza") +
  scale_fill_brewer(palette = "Pastel1") +
  theme_minimal()

2.0.0.3 Mulheres sem abastecimento de agua e sem saneamento

# Adicionando a coluna de gênero e indicadores de falta de abastecimento de água e saneamento
df <- df %>%
  mutate(
    e_mulher = cod_sexo_pessoa == 2,
    sem_abastecimento_agua = cod_abaste_agua_domic_fam %in% c(2, 3, 4),
    sem_esgotamento_sanitario = cod_escoa_sanitario_domic_fam %in% 2:6
  )

# Calculando total e proporções para mulheres sem abastecimento de água
total_mulheres_agua <- df %>%
  filter(e_mulher & sem_abastecimento_agua) %>%
  summarise(
    total_mulheres_sem_agua = n()
  )

# Calculando total e proporções para mulheres sem esgotamento sanitário
total_mulheres_esgotamento <- df %>%
  filter(e_mulher & sem_esgotamento_sanitario) %>%
  summarise(
    total_mulheres_sem_esgotamento = n()
  )

# Visualização
dados_viz_mulheres <- rbind(
  data.frame(categoria = "Sem Água", valor = total_mulheres_agua$total_mulheres_sem_agua),
  data.frame(categoria = "Sem Saneamento", valor = total_mulheres_esgotamento$total_mulheres_sem_esgotamento)
)

ggplot(dados_viz_mulheres, aes(x = categoria, y = valor, fill = categoria)) +
  geom_bar(stat = "identity") +
  geom_text(aes(label = valor), vjust = -0.5, color = "black") +
  ylab("Total de Mulheres") +
  xlab("Categoria") +
  ggtitle("Total de Mulheres sem Abastecimento de Água e sem Saneamento") +
  scale_fill_brewer(palette = "Pastel1") +
  theme_minimal()

2.0.0.4 Mulheres negras que não saber ler e escrever

# Adicionando colunas e identificando mulheres negras que não sabem ler e escrever
df <- df %>%
  mutate(
    e_mulher_negra_analfabeta = cod_sexo_pessoa == 2 & 
                                cod_raca_cor_pessoa %in% c(2, 4) & 
                                cod_sabe_ler_escrever_memb == 2
  )

# Calculando total
total_mulheres_negras_analfabetas <- df %>%
  summarise(
    total = sum(e_mulher_negra_analfabeta, na.rm = TRUE)
  )


# Preparando dados para visualização
dados_viz <- data.frame(
  categoria = "Mulheres Negras Analfabetas",
  valor = total_mulheres_negras_analfabetas$total
)

# Criando o gráfico
ggplot(dados_viz, aes(x = categoria, y = valor, fill = categoria)) +
  geom_bar(stat = "identity") +
  geom_text(aes(label = valor), vjust = -0.5, color = "black") +
  ylab("Total") +
  xlab("") +
  ggtitle("Total de Mulheres Negras Analfabetas") +
  scale_fill_brewer(palette = "Pastel1") +
  theme_minimal()

2.0.0.5 Proporção de mulheres negras analfabetas em relação ao total de inscritos no Cadastro Único e ao total de mulheres

# Adicionando colunas e identificando mulheres negras que não sabem ler e escrever
df <- df %>%
  mutate(
    e_mulher_negra_analfabeta = cod_sexo_pessoa == 2 & 
                                cod_raca_cor_pessoa %in% c(2, 4) & 
                                cod_sabe_ler_escrever_memb == 2,
    e_mulher = cod_sexo_pessoa == 2
  )

# Calculando totais e proporções
total_e_proporcoes <- df %>%
  summarise(
    total_mulheres_negras_analfabetas = sum(e_mulher_negra_analfabeta, na.rm = TRUE),
    total_mulheres = sum(e_mulher, na.rm = TRUE),
    total_inscritos = n(),
    proporcao_mulheres_negras_analfabetas_total = total_mulheres_negras_analfabetas / total_inscritos,
    proporcao_mulheres_negras_analfabetas_mulheres = total_mulheres_negras_analfabetas / total_mulheres
  )

# Visualizar os resultados
total_e_proporcoes %>% gt
total_mulheres_negras_analfabetas total_mulheres total_inscritos proporcao_mulheres_negras_analfabetas_total proporcao_mulheres_negras_analfabetas_mulheres
99108 452866 816419 0.1213935 0.2188462
# Transformar para formato longo para facilitar a visualização
dados_viz_proporcao <- total_e_proporcoes %>%
  select(contains("proporcao")) %>%
  pivot_longer(cols = everything(), names_to = "categoria", values_to = "valor")

# Ajustando nomes das categorias para o gráfico
dados_viz_proporcao$categoria <- recode(dados_viz_proporcao$categoria, 
                                        proporcao_mulheres_negras_analfabetas_total = "Proporção em Relação ao Total",
                                        proporcao_mulheres_negras_analfabetas_mulheres = "Proporção entre Mulheres")

# Criar o gráfico
ggplot(dados_viz_proporcao, aes(x = categoria, y = valor, fill = categoria)) +
  geom_bar(stat = "identity") +
  geom_text(aes(label = scales::percent(valor, accuracy = .1)), vjust = -0.5, color = "black") +
  ylab("Proporção") +
  xlab("Categoria") +
  ggtitle("Proporção de Mulheres Negras Analfabetas no Cadastro Único") +
  scale_fill_brewer(palette = "Pastel1") +
  theme_minimal()

2.0.0.6 Meninas Negras 7 a 12 Anos que não sabem ler e escrever

# Adicionando a coluna e identificando meninas negras de 7 a 12 anos que não sabem ler e escrever
df <- df %>%
  mutate(
    e_menina_negra_analfabeta = cod_sexo_pessoa == 2 & 
                                cod_raca_cor_pessoa %in% c(2, 4) & 
                                cod_sabe_ler_escrever_memb == 2 &
                                idade >= 7 & idade <= 12
  )

# Calculando o total
total_meninas_negras_analfabetas <- df %>%
  summarise(
    total = sum(e_menina_negra_analfabeta, na.rm = TRUE)
  )

# Visualizar o total
total_meninas_negras_analfabetas
# A tibble: 1 × 1
  total
  <int>
1 18333
# Preparando dados para visualização
dados_viz <- data.frame(
  categoria = "Meninas Negras Analfabetas 7-12",
  valor = total_meninas_negras_analfabetas$total
)

# Criando o gráfico
ggplot(dados_viz, aes(x = categoria, y = valor, fill = categoria)) +
  geom_bar(stat = "identity") +
  geom_text(aes(label = valor), vjust = -0.5, color = "black") +
  ylab("Total") +
  xlab("") +
  ggtitle("Total de Meninas Negras Analfabetas de 7 a 12 Anos") +
  scale_fill_brewer(palette = "Pastel1") +
  theme_minimal()

2.1 Criar um df e exportar os resultados

# Criando colunas para as estatísticas necessárias
df_estatisticas <- df %>%
  mutate(
    e_mulher_negra_analfabeta = cod_sexo_pessoa == 2 & 
                                cod_raca_cor_pessoa %in% c(2, 4) & 
                                cod_sabe_ler_escrever_memb == 2,
    e_menina_negra_analfabeta_7_12 = cod_sexo_pessoa == 2 & 
                                     cod_raca_cor_pessoa %in% c(2, 4) & 
                                     cod_sabe_ler_escrever_memb == 2 &
                                     idade >= 7 & idade <= 12,
    sem_abastecimento_agua = cod_abaste_agua_domic_fam %in% c(2, 3, 4)
  ) %>%
  summarise(
    total_mulheres_negras_analfabetas = sum(e_mulher_negra_analfabeta, na.rm = TRUE),
    total_meninas_negras_analfabetas_7_12 = sum(e_menina_negra_analfabeta_7_12, na.rm = TRUE),
    total_sem_abastecimento_agua = sum(sem_abastecimento_agua, na.rm = TRUE),
    total_inscritos = n()
  ) %>%
  mutate(
    proporcao_mulheres_negras_analfabetas = total_mulheres_negras_analfabetas / total_inscritos,
    proporcao_meninas_negras_analfabetas_7_12 = total_meninas_negras_analfabetas_7_12 / total_inscritos,
    proporcao_sem_abastecimento_agua = total_sem_abastecimento_agua / total_inscritos
  )
# Exibindo o dataframe criado

tabela_formatada <- gt(df_estatisticas) %>%
  tab_header(
    title = "Estatísticas do Cadastro Único"
  ) %>%
  cols_label(
    total_mulheres_negras_analfabetas = "Total de Mulheres Negras Analfabetas",
    total_meninas_negras_analfabetas_7_12 = "Total de Meninas Negras Analfabetas (7-12 anos)",
    total_sem_abastecimento_agua = "Total Sem Abastecimento de Água",
    total_inscritos = "Total de Inscritos",
    proporcao_mulheres_negras_analfabetas = "Proporção de Mulheres Negras Analfabetas",
    proporcao_meninas_negras_analfabetas_7_12 = "Proporção de Meninas Negras Analfabetas (7-12 anos)",
    proporcao_sem_abastecimento_agua = "Proporção Sem Abastecimento de Água"
  ) %>%
  fmt_number(
    columns = vars(contains("total")),
    decimals = 0
  ) %>%
  fmt_percent(
    columns = vars(contains("proporcao")),
    decimals = 2
  )

# Exibir a tabela formatada
tabela_formatada
Estatísticas do Cadastro Único
Total de Mulheres Negras Analfabetas Total de Meninas Negras Analfabetas (7-12 anos) Total Sem Abastecimento de Água Total de Inscritos Proporção de Mulheres Negras Analfabetas Proporção de Meninas Negras Analfabetas (7-12 anos) Proporção Sem Abastecimento de Água
99,108 18,333 417,022 816,419 12.14% 2.25% 51.08%

Exportar

write.csv(df_estatisticas, "estatisticas_cadunico.csv", row.names = FALSE)