lunes, 27 de mayo de 2024

Limpieza de datos

Determinantes sociales. Jefatura de hogar

Debo analizar una data tomando como punto focal la jefatura del hogar. Un análisis exploratorio previo me ha indicado que las categorías de esta variable han sido escritas de diferentes maneras, por ejemplo: [1] “jefa de familia” “jefa de familia y hogar” [3] “jefa de hogar” “jefa de Hogar”. Debo, por lo tanto unificar los nombres de las categorías.

Pre-procesamientos

library(readxl) #paquete requerido para subir datos en formato .xlsx

#subo la data a la consola de R, un libro de excel
jefaturas_autoubicacion <- read_excel("D:/jefaturas_autoubicacion.xlsx")


#@key, [@key-1; @key-2; @key-3] [-@R-base]

Dado que las mujeres suelen ser en gran medida jefes de familia en la comunidad en la que se obtuvo la data, quiero verificar la distribución según sexo.

#jefatura segun sexo
jefaturas_autoubicacion  %>% 
  group_by(sexo) %>% # agrupo los datos de acuerdo con el sexo
  na.omit()%>% # elimina valores no disponibles
  count(jefe_de_familia) %>% # hago el conteo
  mutate(proporcion = n/sum(n)) %>% # transformo los valores en porcentajes y posteriormente elaboro el grafico
  ggplot(aes(proporcion, jefe_de_familia, fill = sexo)) + #el grafico coloca la proporcion en el eje x; el jefe de flia en eje y, diviendo segun genero
  geom_col(alpha = 0.6) + # visualizar como barras
  geom_vline(xintercept = 0, size =1,colour="#333333") + # añadir linea vertical en el punto cero
  facet_wrap(~sexo)+ # dividir la visualización según sexo
  # inicio con tufte # usar un diseño de grafico siguiendo las recomendaciones de tufte
  theme_tufte() +
  # cambio etiquetas de los ejes
  labs(x= "Porcentaje", y = "¿Es usted jefe de familia?") +
  scale_x_continuous(labels = label_percent())+ # la escala de los ejes debe ser en porcentaje
  theme( # titulos de los ejes
    axis.title = element_text(size = rel(0.8),
                              face = "bold.italic"),
    # textos en los ejes
    axis.text = element_text(
      size = rel(0.8)),
    legend.position = "none", # ubicacion de la leyenda
    panel.grid.major.x  = element_line(color = "#eeeeee"),
    # disminuyo el color de los sticks
    axis.ticks = element_line(color = "#eeeeee"))+
   scale_fill_manual(values =  c("MASCULINO" = "violetred",     
                                "FEMENINO" = "aquamarine"))

 # guides( fill = guide_legend("Género: "))

Efectivamente, en esta comunidad predomina la jefatura del hogar encabezada por mujeres

Deseo tener mayor claridad con respecto a la jefatura del hogar. as encuestas sociodemográficas suelen considerar como jefe del hogar a aquel individuo que encabeza una unidad doméstica sin que los criterios para esta asignación sean del todo claros (Hernández and Muñiz 2015).

El tipo de jefatura de los miembros que tienen algún tipo de relación con los jefes de familia, de hogar o de ambos

Limpiezas necesarias

  • Limpiar las categorías de Jefe del hogar de forma tal que se distingan jefa o jefe de hogar; jefa o jefe de familia

[1] “jefa de familia” “jefa de familia y hogar” [3] “jefa de hogar” “jefa de Hogar”
[5] “Jefa de hogar” “jefa de hogar y familia” [7] “jefa del hogar” “jefa familia y hogar”
[9] “jefe de familia” “jefe de familia y hogar” [11] “jefe de familiay hogar” “jefe de hogar”
[13] “jefe de Hogar” “Jefe de hogar”
[15] “jefe de hogar y familia” “jefe familia”
[17] “jefe Hogar”

condicion_normalizado %>% 
  count(sexo, resumen_condicion) |>
  na.omit()|>
  #recodifico
  mutate(recodificacion = recode(resumen_condicion,
                                 "jefa de familia" = "jefe/a de familia",
                                 "jefa de hogar" = "jefe/a de hogar",
                                 "jefa de hogar y familia" = "jefe/a de hogar y familia",
                                 "jefe de familia" = "jefe/a de familia",
                                 "jefe de hogar" = "jefe/a de hogar",
                                 "jefe de hogar y familia" = "jefe/a de hogar y familia"
  )) |>
  mutate(proporcion = n/sum(n)) |>
  ggplot(aes(x= proporcion , 
             y =recodificacion, fill = sexo)) +
  geom_col() +
  geom_vline(xintercept = 0, size =1,colour="#333333") + 
  # inicio con tufte
  theme_tufte() +
  # cambio etiquetas de los ejes
  labs(x= "Porcentaje", y = "Tipo de jefatura")+
  scale_fill_manual(values =  c("MASCULINO" = "violetred",     
                                 "FEMENINO" = "aquamarine")) +
  scale_x_continuous(labels = label_percent())+
  theme( # titulos de los ejes
    axis.title = element_text(size = rel(0.7),
                              face = "bold.italic"),
    # textos en los ejes
    axis.text = element_text(
      size = rel(0.6)),
    legend.position = "top",
    legend.text.align = 0,
    legend.background = element_blank(),
    legend.key = element_blank(),
    legend.text =element_text(
      size=  rel(0.7),
      color="#505050"),
   panel.grid.major.x  = element_line(color = "#eeeeee"),
    # disminuyo el color de los sticks
    axis.ticks = element_line(color = "#eeeeee"))+
  guides( fill = guide_legend("Género: "))

Las mujeres suelen ser jefas de y de familia y jefes de hogar en mucho mayor proporción que los hombres. Pero cuando se trata de jefatura de la familia, esta posición es ocupada casi por completo por hombres.

Miembros de la familia

Ahora que he hecho la recodificación, haré algunas exploraciones adicionales y de esa forma saber si debo hacer nuevas limpiezas- Doy un vistazo a las variables sociodemográficas presentes en la data

glimpse(DETERMINANTES_SOCIALES_miembros)
## Rows: 63
## Columns: 7
## $ index               <chr> "2M2", "4M2", "5M2", "6M2", "7M2", "8M2", "9M2", "~
## $ relacion_paremtesco <chr> "ESPOSA (O)", "HIJO (A)", "ESPOSA (O)", "ESPOSA (O~
## $ NOMBRE              <chr> "Pilar", "Marianna", "Maria~
## $ APELLIDOSENCUESTADO <chr> "Vega de Alba", "Alb Vega", "Acevedo~
## $ SEXO                <chr> "FEMENINO", "FEMENINO", "FEMENINO", "FEMENINO", "F~
## $ condicion           <chr> "jefe Hogar", NA, "jefe de hogar", "jefa de hogar"~
## $ resumen_condicion   <chr> "jefe de hogar", NA, "jefe de hogar", "jefa de hog~

Analaizo la relación de parentesco con el jefe del hogar:

algo más del 80% de la relación de parentesco con el jefe/a del hogar o de la familia reportado corresponde al esposo/a, seguida de hijo/a.

DETERMINANTES_SOCIALES_miembros|>
  count(relacion_paremtesco) |>
  mutate(porcentaje = n/sum(n)) |>
  mutate(relacion_paremtesco = factor(relacion_paremtesco,
                                      levels = c("ESPOSA (O)",
                                                 "HIJO (A)",
                                                 "MADRE")))|>
  mutate(relacion_paremtesco = fct_reorder(relacion_paremtesco, n))|>
  ggplot(aes(porcentaje, relacion_paremtesco)) +
  geom_col(fill = c("#1380a1"), alpha = 0.6) +
  geom_vline(xintercept = 0, size =1,colour="#333333") + 
  # inicio con tufte
  theme_tufte() +
  # cambio etiquetas de los ejes
  labs(x= "Porcentaje", y = "Relación de parentesco") +
  scale_x_continuous(labels = label_percent())+
  theme( # titulos de los ejes
    axis.title = element_text(size = rel(0.7),
                              face = "bold.italic"),
    # textos en los ejes
    axis.text = element_text(
      size = rel(0.6)),
    legend.position = "top",
    legend.text.align = 0,
    legend.background = element_blank(),
    legend.key = element_blank(),
    legend.text =element_text(
      size=  rel(0.7),
      color="#505050"),
    panel.grid.major.x  = element_line(color = "#eeeeee"),
    # disminuyo el color de los sticks
    axis.ticks = element_line(color = "#eeeeee"))

DETERMINANTES_SOCIALES_miembros %<>% 
  mutate(resumen_condicion = recode(condicion,
                                    "jefe Hogar" = "jefe de hogar",
                                    "jefe de Hogar" = "jefe de hogar",
                                    "Jefe de hogar" = "jefe de hogar",
                                    "Jefa de hogar" = "jefa de hogar",
                                    "jefa del hogar" = "jefa de hogar",
                                    "jefa de Hogar" = "jefa de hogar",
                                    "jefa familia y hogar" = "jefa de hogar y familia",
                                    "jefe de familiay hogar" = "jefe de hogar y familia",
                                    "jefa de familia y hogar" = "jefa de hogar y familia",
                                    "jefe de familia y hogar" = "jefe de hogar y familia",
                                    "jefe familia" = "jefe de familia"
  )) 

Hay nueve hombres pero no hay especificado qué condición tienen; igual hay 8 mujeres en esa situación

DETERMINANTES_SOCIALES_miembros %>% 
  janitor::clean_names() |>
  count(sexo, resumen_condicion) %>% 
  na.omit()|>
  mutate(recodificacion = recode(resumen_condicion,
                                 "jefa de familia" = "jefe/a de familia",
                                 "jefa de hogar" = "jefe/a de hogar",
                                 "jefa de hogar y familia" = "jefe/a de hogar y familia",
                                 "jefe de familia" = "jefe/a de familia",
                                 "jefe de hogar" = "jefe/a de hogar",
                                 "jefa del Hogar" = "jefe/a de hogar",
                                 "Jefa de familia" = "jefe/a de familia",
                                 "jefe de hogar y familia" = "jefe/a de hogar y familia"
  )) |>
  mutate(proporcion = n/sum(n)) |>
  ggplot(aes(x= proporcion , 
             y =recodificacion, fill = sexo)) +
  geom_col() +
  geom_vline(xintercept = 0, size =1,colour="#333333") + 
  # inicio con tufte
  theme_tufte() +
  # cambio etiquetas de los ejes
  labs(x= "Porcentaje", y = "Tipo de jefatura")+
  scale_fill_manual(values =  c("MASCULINO" = "violetred",     
                                "FEMENINO" = "aquamarine"),
                    
                    labels = c("MASCULINO" = "Masculino",          # pongo en minuscula la categoria (use "=" para evitar errores)
                               "FEMENINO" = "Femenino",
                               "Missing"),
                   # name = "Género :",                  # titulo de la leyenda
                    na.value = "#dddddd") +
  scale_x_continuous(labels = label_percent())+
  theme( # titulos de los ejes
    axis.title = element_text(size = rel(0.7),
                              face = "bold.italic"),
    # textos en los ejes
    axis.text = element_text(
      size = rel(0.6)),
    legend.position = "top",
    legend.text.align = 0,
    legend.background = element_blank(),
    legend.key = element_blank(),
    legend.text =element_text(
      size=  rel(0.7),
      color="#505050"),
    panel.grid.major.x  = element_line(color = "#eeeeee"),
    # disminuyo el color de los sticks
    axis.ticks = element_line(color = "#eeeeee"))+
  guides( fill = guide_legend("Género: "))

Jefatura en los segundos miembros

relacion_con_jefes %>% 
  count(relacion) %>%  # llevar luego a porcentaje
  na.omit() %>% 
  mutate(percentage = n/sum(n), # creo variables para generar luego un gráfico tipo dona
         percentage = round(percentage,2)) %>% 
    # obtengo el valor minimo  y maximo para y
  mutate(max = cumsum(percentage),
         min = c(0, head(max, n=-1))) %>% 
  mutate(posicion = (max + min) / 2,
          etiquetas =paste0(relacion,":", "\n ", percentage*100, "%")) %>% 
  ggplot(aes(ymax = max, ymin = min, xmax=4,
             xmin = 3, fill = relacion)) +
     geom_rect() +
  xlim(c(.1, 4)) +
  coord_polar(theta="y") +
   geom_text( x=3.5, aes(y=posicion, label=etiquetas), size=1.85,
              color = "#333333", fontface = "bold")+
  scale_fill_manual(values = c("#ffab18", "#1380a1", "#990000")) +
   # Try to remove that to understand how the chart is built initially
       theme_void() +
  theme(legend.position = "none")

Referencias

Hernández, Daniel, and Patricia E Muñiz. 2015. “?‘ Qué Es Un Jefe de Hogar?” Sociológica México, no. 32: 23–35.

No hay comentarios.: