Proyecto integrador primeras semanas

Recolección de datos

Conjunto de datos obtenidos de la Sección de Estudios de Ingresos Dinámicos de la Universidad de Michigan. Con el objetivo de estudiar los factores que influyen en las mujeres casadas a participar en la fuerza laboral (muestra de 200 observaciones).

MujeresTrabajadoras <- read_excel("mujeres_trabajadoras.xlsx")
MujeresTrabajadoras
## # A tibble: 200 × 8
##      AÑO  AÑOP 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

Variables

MujeresTrabajadoras <- MujeresTrabajadoras %>%
  rename(
    trabajoActual = AÑO,
    trabajoPrevio = AÑOP,
    ingresoE = INGESP,
    edadR = EDAD,
    educacionR = EDUC,
    razaN = RAZAN,
    ninos = NIN1,
    ninos2 = NIN2
  )

MujeresTrabajadoras
## # A tibble: 200 × 8
##    trabajoActual trabajoPrevio ingresoE edadR educacionR razaN ninos ninos2
##            <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

Resuelve

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

mujeres_sintrabajo <- MujeresTrabajadoras %>%
  filter(trabajoActual == 0, trabajoPrevio == 0) %>%
  summarise(proporcion = n() / nrow(MujeresTrabajadoras))

mujeres_sintrabajo$proporcion_porcentaje <- round(mujeres_sintrabajo$proporcion * 100, 2)
print(mujeres_sintrabajo)
## # A tibble: 1 × 2
##   proporcion proporcion_porcentaje
##        <dbl>                 <dbl>
## 1       0.25                    25

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

MujeresTrabajadoras <- MujeresTrabajadoras  %>%
 mutate(trabaja = ifelse(trabajoActual == 1, "Trabaja", "No trabaja")) 

# Resumen estadístico del ingreso del esposo
resumen_ingreso <- MujeresTrabajadoras %>%
  group_by(trabaja) %>%
  summarise(
    media_ingreso = mean(ingresoE, na.rm = TRUE),
    mediana_ingreso = median(ingresoE, na.rm = TRUE),
    min_ingreso = min(ingresoE, na.rm = TRUE),
    max_ingreso = max(ingresoE, na.rm = TRUE),
    sd_ingreso = sd(ingresoE, na.rm = TRUE),
    n = n()
  )

print(resumen_ingreso)
## # A tibble: 2 × 7
##   trabaja media_ingreso mediana_ingreso min_ingreso max_ingreso sd_ingreso     n
##   <chr>           <dbl>           <dbl>       <dbl>       <dbl>      <dbl> <int>
## 1 No tra…         10.0             7.80           0        54.3       8.48    65
## 2 Trabaja          8.24            7.79           0        27.9       4.36   135
# 2. Gráfico de ingresos del esposo según los estados laborales
ggplot(MujeresTrabajadoras, aes(x = trabaja, y = ingresoE, 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")

3.¿Qué podemos decir de la edad de las mujeres incluidas en la muestra?

resumen_edad <- MujeresTrabajadoras %>%
  summarise(
    media_edad = mean(edadR, na.rm = TRUE),
    mediana_edad = median(edadR, na.rm = TRUE),
    min_edad = min(edadR, na.rm = TRUE),
    max_edad = max(edadR, na.rm = TRUE),
    desviacion = sd(edadR, na.rm = TRUE),
    n = n()
  )

print(resumen_edad)
## # A tibble: 1 × 6
##   media_edad mediana_edad min_edad max_edad desviacion     n
##        <dbl>        <dbl>    <dbl>    <dbl>      <dbl> <int>
## 1       35.1           35       21       46       7.02   200

4.¿Hay más mujeres trabajadoras con niños menores de dos años o mayores?

library(dplyr)
Mujeres_no_trabajan <- MujeresTrabajadoras %>%
  group_by(educacionR) %>%
  summarise(
    total = n(),
    No_trabajan = sum(trabaja == "No trabaja"),
    Mujeres_no_trabajan = No_trabajan / total
  )
#Grafico
ggplot(Mujeres_no_trabajan, aes(x = educacionR, y = Mujeres_no_trabajan)) +
  geom_line(color = "darkgreen") +
  geom_point(color = "darkred") +
  labs(
    title = "Proporción de mujeres que no trabajan según su nivel de educación",
    x = "Nivel de educación",
    y = "Proporción de mujeres que no trabajan"
  ) +
    
  theme_minimal() 

5. ¿Hay más mujeres trabajadoras con niños menores de dos años o mayores

MujeresTrabajadoras_N1 <- MujeresTrabajadoras %>%
  filter(trabajoActual == 1, ninos == 1) %>%
  summarise(total_n1 = n())

MujeresTrabajadoras_N2 <- MujeresTrabajadoras %>%
  filter(trabajoActual == 1, ninos2 == 1) %>%
  summarise(total_n2 = n())

print(MujeresTrabajadoras_N1) 
## # A tibble: 1 × 1
##   total_n1
##      <int>
## 1        2
print(MujeresTrabajadoras_N2)
## # A tibble: 1 × 1
##   total_n2
##      <int>
## 1       32
#Grafico
resumen_ninos <- MujeresTrabajadoras %>%
  filter(trabajoActual == 1) %>%
  summarise(
    Niños_menores = sum(ninos == 1, na.rm = TRUE),
    Niños_mayores = sum(ninos2 == 1, na.rm = TRUE)
  ) %>%
  tidyr::pivot_longer(cols = everything(), names_to = "Categoria", values_to = "Total")

ggplot(resumen_ninos, 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")

6. ¿Que proporciona de mujeres negras trabajaron duranrte los dos años referidos en la muestra? Y , ¿qué proporción de mujeres no negras trabajaron durante el mismo periodo?

Mujeres_negras <- MujeresTrabajadoras %>%
  filter(razaN == 1) %>%
  summarise(
    proporción = mean(trabajoActual == 1 & trabajoPrevio == 1, na.rm = TRUE)
  )
Mujeres_no_negras <- MujeresTrabajadoras %>%
  filter(razaN == 0) %>%
  summarise(
    proporción = mean(trabajoActual == 1 & trabajoPrevio == 1, na.rm = TRUE)
  )

  print(paste("Proporción de mujeres negras que trabajaron en ambos años:", round(Mujeres_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(Mujeres_no_negras$proporción * 100, 2), "%"))
## [1] "Proporción de mujeres no negras que trabajaron en ambos años: 52.73 %"
proporciones <- MujeresTrabajadoras %>%
  mutate(grupo = ifelse(razaN == 1, "Mujeres negras", "Mujeres no negras")) %>%
  group_by(grupo) %>%
  summarise(
    proporcion = mean(trabajoActual == 1 & trabajoPrevio == 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")

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

trabajadoras <- MujeresTrabajadoras %>%
  filter(trabajoActual == 1)

resumen_trabajadoras <- trabajadoras %>%
  summarise(
    mean_negro = mean(razaN == 1, na.rm = TRUE),
    mean_n1 = mean(ninos == 1, na.rm = TRUE),
    mean_n2 = mean(ninos2 == 1, na.rm = TRUE),
    mean_nohijos = mean(ninos == 0 & ninos == 0, na.rm = TRUE),
    mean_edad = mean(edadR, na.rm = TRUE),
    mean_edu = mean(educacionR, na.rm = TRUE),
    mean_ingreso = mean(ingresoE, na.rm = TRUE)
  )

print(resumen_trabajadoras)
## # A tibble: 1 × 7
##   mean_negro mean_n1 mean_n2 mean_nohijos mean_edad mean_edu mean_ingreso
##        <dbl>   <dbl>   <dbl>        <dbl>     <dbl>    <dbl>        <dbl>
## 1        0.2  0.0148   0.237        0.985      36.1     12.1         8.24
#Grafico
datos_grafico <- data.frame(
  Caracteristica = c("Mujer negra", "Niño menor a 2 años", "Niño mayor a 2 años", "No niños"),
  Proporcion = c(
    resumen_trabajadoras$mean_negro,
    resumen_trabajadoras$mean_n1,
    resumen_trabajadoras$mean_n2,
    resumen_trabajadoras$mean_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()