library(readxl)
mujeres_trabajadoras <- read_excel("mujeres_trabajadoras.xlsx")
mujeres_trabajadoras
## # A tibble: 200 × 8
##    ANIOA ANIOP INGESP  EDAD  EDUC RAZAN  NIN1  NIN2
##    <dbl> <dbl>  <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
##  1     0     1   7.35    27    10     1     0     0
##  2     1     0   6.78    35    12     0     0     0
##  3     1     1   6.06    40    12     0     0     0
##  4     1     1   6.44    35    12     1     0     0
##  5     1     0   4.74    28    10     0     0     1
##  6     1     1   6.62    30    10     0     0     1
##  7     1     1   6.04    35    10     0     0     1
##  8     1     1   4.34    46     7     0     0     0
##  9     1     0   9.72    32    10     0     0     0
## 10     1     1   1.86    30    10     1     0     0
## # ℹ 190 more rows
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.2.3
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
mujeres_trabajadoras <- mujeres_trabajadoras %>%
  rename(
    trabajo_a = ANIOA,
    trabajo_p = ANIOP,
    ingreso = INGESP,
    edad = EDAD,
    educacion = EDUC,
    negro = RAZAN,
    bebes = NIN1,
    ninos = NIN2
  )
summary(mujeres_trabajadoras)
##    trabajo_a       trabajo_p        ingreso            edad      
##  Min.   :0.000   Min.   :0.000   Min.   : 0.000   Min.   :21.00  
##  1st Qu.:0.000   1st Qu.:0.000   1st Qu.: 5.787   1st Qu.:30.00  
##  Median :1.000   Median :1.000   Median : 7.796   Median :35.00  
##  Mean   :0.675   Mean   :0.625   Mean   : 8.826   Mean   :35.06  
##  3rd Qu.:1.000   3rd Qu.:1.000   3rd Qu.:10.522   3rd Qu.:41.00  
##  Max.   :1.000   Max.   :1.000   Max.   :54.281   Max.   :46.00  
##    educacion         negro           bebes          ninos     
##  Min.   : 7.00   Min.   :0.000   Min.   :0.00   Min.   :0.00  
##  1st Qu.:12.00   1st Qu.:0.000   1st Qu.:0.00   1st Qu.:0.00  
##  Median :12.00   Median :0.000   Median :0.00   Median :0.00  
##  Mean   :12.01   Mean   :0.175   Mean   :0.05   Mean   :0.31  
##  3rd Qu.:12.00   3rd Qu.:0.000   3rd Qu.:0.00   3rd Qu.:1.00  
##  Max.   :18.00   Max.   :1.000   Max.   :1.00   Max.   :1.00

¿Qué proporción de mujeres no trabajaron ni al momento de la encuesta ni el año anterior a la encuesta?

pregunta1 <- mujeres_trabajadoras %>%
  filter(trabajo_a == 0, trabajo_p == 0) %>%
  summarise(proporcion = n() / nrow(mujeres_trabajadoras))

print(paste("La proporción de mujeres que no trabajaron ni al momento de la encuesta ni el año anterior es de", 
            round(pregunta1$proporcion * 100, 2), "%"))
## [1] "La proporción de mujeres que no trabajaron ni al momento de la encuesta ni el año anterior es de 25 %"

¿Cómo se comportan los salarios del esposo para las mujeres que trabajan y las que no trabajan?

library(dplyr)
mujeres_trabajadoras <- mujeres_trabajadoras %>%
  mutate(trabaja = ifelse(trabajo_a == 1, "Trabaja", "No trabaja"))

Resumen de ingreso en millones de dólares:

resumen_ingreso <- mujeres_trabajadoras %>%
  group_by(trabaja) %>%
  summarise(
    media = mean(ingreso, na.rm = TRUE),
    mediana = median(ingreso, na.rm = TRUE),
    min = min(ingreso, na.rm = TRUE),
    max = max(ingreso, na.rm = TRUE),
    desviacion = sd(ingreso, na.rm = TRUE),
    n = n()
  )

print(resumen_ingreso)
## # A tibble: 2 × 7
##   trabaja    media mediana   min   max desviacion     n
##   <chr>      <dbl>   <dbl> <dbl> <dbl>      <dbl> <int>
## 1 No trabaja 10.0     7.80     0  54.3       8.48    65
## 2 Trabaja     8.24    7.79     0  27.9       4.36   135
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.2.3
ggplot(mujeres_trabajadoras, aes(x = trabaja, y = ingreso, fill = trabaja)) +
  geom_boxplot() +
  labs(
    title = "Distribución de ingreso vs. trabajo",
    x = "Trabaja vs. no trabaja",
    y = "Ingreso del esposo"
  ) +
  theme_minimal() +
  theme(legend.position = "none")

Mientras la media en el ingreso del esposo para las mujeres que trabajan es menor que para las que si trabajan, existe una mayor desviación a altos niveles de ingreso del esposo cuando la mujer no trabaja.

¿Qué podemos decir de la edad de las mujeres includias en la muestra?

resumen_edad <- mujeres_trabajadoras %>%
  summarise(
    media = mean(edad, na.rm = TRUE),
    mediana = median(edad, na.rm = TRUE),
    min = min(edad, na.rm = TRUE),
    max = max(edad, na.rm = TRUE),
    desviacion = sd(edad, na.rm = TRUE),
    n = n()
  )

print(resumen_edad)
## # A tibble: 1 × 6
##   media mediana   min   max desviacion     n
##   <dbl>   <dbl> <dbl> <dbl>      <dbl> <int>
## 1  35.1      35    21    46       7.02   200

Las edades van de 21 a 46 años, con un promedio de 35 años.

¿Qué sucede con la proporción de mujeres no trabajadoras, de acuerdo al nivel de escolaridad?

library(dplyr)
proporcion_no_trabajan <- mujeres_trabajadoras %>%
  group_by(educacion) %>%
  summarise(
    total = n(),
    no_trabajan = sum(trabaja == "No trabaja"),
    proporcion_no_trabajan = no_trabajan / total
  )
ggplot(proporcion_no_trabajan, aes(x = educacion, y = proporcion_no_trabajan)) +
  geom_line(color = "#69b3a2") +
  geom_point(color = "#69b3a2") +
  labs(
    title = "Proporción de mujeres que no trabajan según el nivel de educación",
    x = "Nivel de educación",
    y = "Proporción de mujeres que no trabajan"
  ) +
  theme_minimal() 

El mayor numero de mujeres que no trabajan se concentra alrededor del nivel de educación 12 (superior) pero decrece exponencialmente al continuar a educación continua.

¿Hay mas mujeres trabajadoras con niños mayores a 2 años o menores?

library(dplyr)
mujeres_trabajadoras_bebes <- mujeres_trabajadoras %>%
  filter(trabajo_a == 1, bebes == 1) %>%
  summarise(total_bebes = n())

mujeres_trabajadoras_ninos <- mujeres_trabajadoras %>%
  filter(trabajo_a == 1, ninos == 1) %>%
  summarise(total_ninos = n())

print(mujeres_trabajadoras_bebes)
## # A tibble: 1 × 1
##   total_bebes
##         <int>
## 1           2
print(mujeres_trabajadoras_ninos)
## # A tibble: 1 × 1
##   total_ninos
##         <int>
## 1          32

Hay 2 mujeres con niños menores a 2 años y 32 con niños mayores a 2 años.

resumen <- mujeres_trabajadoras %>%
  filter(trabajo_a == 1) %>%
  summarise(
    Bebés = sum(bebes == 1, na.rm = TRUE),
    Niños = sum(ninos == 1, na.rm = TRUE)
  ) %>%
  tidyr::pivot_longer(cols = everything(), names_to = "Categoria", values_to = "Total")

ggplot(resumen, aes(x = Categoria, y = Total, fill = Categoria)) +
  geom_bar(stat = "identity") +
  labs(
    title = "Mujeres trabajadoras con hijos",
    x = "",
    y = "Número de mujeres"
  ) +
  theme_minimal() +
  theme(legend.position = "none")

¿Que proporción de mujeres negras trabajaron durante los dos años referidos en la muestra? ¿Qué proporción de mujeres no negras trabajaron durante el mismo periodo?

proporcion_negras <- mujeres_trabajadoras %>%
  filter(negro == 1) %>%
  summarise(
    proporción = mean(trabajo_a == 1 & trabajo_p == 1, na.rm = TRUE)
  )
proporcion_no_negras <- mujeres_trabajadoras %>%
  filter(negro == 0) %>%
  summarise(
    proporción = mean(trabajo_a == 1 & trabajo_p == 1, na.rm = TRUE)
  )

print(paste("Proporción de mujeres negras que trabajaron en ambos años:", round(proporcion_negras$proporción * 100, 2), "%"))
## [1] "Proporción de mujeres negras que trabajaron en ambos años: 65.71 %"
print(paste("Proporción de mujeres no negras que trabajaron en ambos años:", round(proporcion_no_negras$proporción * 100, 2), "%"))
## [1] "Proporción de mujeres no negras que trabajaron en ambos años: 52.73 %"
proporciones <- mujeres_trabajadoras %>%
  mutate(grupo = ifelse(negro == 1, "Mujeres negras", "Mujeres no negras")) %>%
  group_by(grupo) %>%
  summarise(
    proporcion = mean(trabajo_a == 1 & trabajo_p == 1, na.rm = TRUE)
  )
ggplot(proporciones, aes(x = grupo, y = proporcion, fill = grupo)) +
  geom_bar(stat = "identity") +
  geom_text(aes(label = paste0(round(proporcion * 100, 2), "%")), 
            vjust = -0.5, size = 4) +
  labs(
    title = "Proporción de mujeres trabajadoras",
    x = "Raza",
    y = "%"
  ) +
  scale_y_continuous(labels = scales::percent_format(accuracy = 1)) +
  theme_minimal() +
  theme(legend.position = "none")

La proporción de mujeres trabajadoras es mayor para mujeres negras que mujeres no negras.

¿Qué podemos decir acerca de las características de las mujeres que trabajan?

trabajadoras <- mujeres_trabajadoras %>%
  filter(trabajo_a == 1)

resumen_trabajadoras <- trabajadoras %>%
  summarise(
    p_negra = mean(negro == 1, na.rm = TRUE),
    p_bebes = mean(bebes == 1, na.rm = TRUE),
    p_nino = mean(ninos == 1, na.rm = TRUE),
    p_nohijos = mean(bebes == 0 & ninos == 0, na.rm = TRUE),
    p_edad = mean(edad, na.rm = TRUE),
    p_educacion = mean(educacion, na.rm = TRUE),
    p_ingreso = mean(ingreso, na.rm = TRUE)
  )

print(resumen_trabajadoras)
## # A tibble: 1 × 7
##   p_negra p_bebes p_nino p_nohijos p_edad p_educacion p_ingreso
##     <dbl>   <dbl>  <dbl>     <dbl>  <dbl>       <dbl>     <dbl>
## 1     0.2  0.0148  0.237     0.748   36.1        12.1      8.24
datos_grafico <- data.frame(
  Caracteristica = c("Mujer negra", "Hij@ menor a 2 años", "Hij@ mayor a 2 años", "No hij@s"),
  Proporcion = c(
    resumen_trabajadoras$p_negra,
    resumen_trabajadoras$p_bebes,
    resumen_trabajadoras$p_nino,
    resumen_trabajadoras$p_nohijos
  )
)

datos_grafico$Etiqueta <- paste0(round(datos_grafico$Proporcion * 100, 1), "%")

ggplot(datos_grafico, aes(x = "", y = Proporcion, fill = Caracteristica)) +
  geom_bar(stat = "identity", width = 1) +
  coord_polar("y") +
  geom_text(aes(label = Etiqueta), position = position_stack(vjust = 0.5), size = 4) +
  labs(
    title = "Características de mujeres que trabajan",
    fill = "Característica"
  ) +
  scale_fill_brewer(palette = "Set3") +
  theme_void()