4.6 Una aplicación a la brecha de género en los ingresos

En esta sección se analiza cómo reproducir los resultados presentados en el estudio La brecha de género en los ingresos de los graduados universitarios en los Estados Unidos.

Para reproducir los resultados, se deben descargar los datos de replicación que están alojados en Pearson y se pueden descargar mediante el siguiente enlace. El archivo contiene datos que van desde \(1992\) hasta \(2008\) y las ganancias se expresan en precios de \(2008\).

Existen varias formas de importar los archivos .xlsx a R. La sugerencia es la función read_excel() del paquete readxl (Wickham and Bryan 2019). El paquete no forma parte de la versión base de R y debe instalarse manualmente.

# cargar el paquete 'readxl'
library(readxl)

Ahora está listo para importar el conjunto de datos. ¡Asegúrese de utilizar la ruta correcta para importar el archivo descargado! En el presente ejemplo, el archivo se guarda en una subcarpeta del directorio de trabajo llamada Datos. Si no está seguro de cuál es su directorio de trabajo actual, use getwd(), vea también ?Getwd. Esto le dará la ruta que apunta al lugar donde R está buscando archivos con los que trabajar.

# importar los datos a R
cps <- read_excel(path = "data/cps_ch3.xlsx")

A continuación, instale y cargue el paquete dyplr (Wickham et al. 2021). Dicho paquete proporciona algunas funciones útiles que simplifican mucho la manipulación de datos. Hace uso del operador %>% (mejor conocido en la ciencia de datos como tubería).

# cargar el paquete 'dplyr'
library(dplyr)

Primero, obtenga una descripción general del conjunto de datos. Luego, use %>% y algunas funciones del paquete dplyr para agrupar las observaciones por género y año, así como para calcular estadísticas descriptivas para ambos grupos.

# obtener una descripción general de la estructura de datos
head(cps)
#> # A tibble: 6 x 3
#>   a_sex  year ahe08
#>   <dbl> <dbl> <dbl>
#> 1     1  1992  17.2
#> 2     1  1992  15.3
#> 3     1  1992  22.9
#> 4     2  1992  13.3
#> 5     1  1992  22.1
#> 6     2  1992  12.2

# agrupar los datos por género y año y calcular la media, la desviación estándar
# y número de observaciones para cada grupo
avgs <- cps %>% 
        group_by(a_sex, year) %>% 
        summarise(mean(ahe08), 
                  sd(ahe08), 
                  n())

# imprimir los resultados en la consola
print(avgs)
#> # A tibble: 10 x 5
#> # Groups:   a_sex [2]
#>    a_sex  year `mean(ahe08)` `sd(ahe08)` `n()`
#>    <dbl> <dbl>         <dbl>       <dbl> <int>
#>  1     1  1992          23.3       10.2   1594
#>  2     1  1996          22.5       10.1   1379
#>  3     1  2000          24.9       11.6   1303
#>  4     1  2004          25.1       12.0   1894
#>  5     1  2008          25.0       11.8   1838
#>  6     2  1992          20.0        7.87  1368
#>  7     2  1996          19.0        7.95  1230
#>  8     2  2000          20.7        9.36  1181
#>  9     2  2004          21.0        9.36  1735
#> 10     2  2008          20.9        9.66  1871

Con el operador de tubería %>% simplemente se encadenan diferentes funciones de R que producen entradas y salidas compatibles. En el código anterior, se tomó el conjunto de datos cps y se usó como entrada para la función group_by(). La salida de group_by() se utiliza posteriormente como entrada para summarise() y así sucesivamente.

Ahora que se han calculado las estadísticas de interés para ambos géneros, se puede investigar cómo evoluciona la brecha en los ingresos entre ambos grupos con el tiempo.

# dividir el conjunto de datos por género
male <- avgs %>% dplyr::filter(a_sex == 1) 

female <- avgs %>% dplyr::filter(a_sex == 2)

# cambiar el nombre de las columnas de ambas divisiones
colnames(male)   <- c("Sexo", "Año", "Y_bar_m", "s_m", "n_m")
colnames(female) <- c("Sexo", "Año", "Y_bar_f", "s_f", "n_f")

# estimar brechas de género, calcular errores estándar e intervalos de confianza para todas las fechas
gap <- male$Y_bar_m - female$Y_bar_f

gap_se <- sqrt(male$s_m^2 / male$n_m + female$s_f^2 / female$n_f)

gap_ci_l <- gap - 1.96 * gap_se

gap_ci_u <- gap + 1.96 * gap_se

result <- cbind(male[,-1], female[,-(1:2)], gap, gap_se, gap_ci_l, gap_ci_u)

# imprimir los resultados en la consola
print(result, digits = 3)
#>    Año Y_bar_m  s_m  n_m Y_bar_f  s_f  n_f  gap gap_se gap_ci_l gap_ci_u
#> 1 1992    23.3 10.2 1594    20.0 7.87 1368 3.23  0.332     2.58     3.88
#> 2 1996    22.5 10.1 1379    19.0 7.95 1230 3.49  0.354     2.80     4.19
#> 3 2000    24.9 11.6 1303    20.7 9.36 1181 4.14  0.421     3.32     4.97
#> 4 2004    25.1 12.0 1894    21.0 9.36 1735 4.10  0.356     3.40     4.80
#> 5 2008    25.0 11.8 1838    20.9 9.66 1871 4.10  0.354     3.41     4.80

Se observan prácticamente los mismos resultados que los presentados en el artículo. Las estadísticas calculadas sugieren que existe una brecha de género en los ingresos. Se debe tener en cuenta que se puede rechazar la hipótesis nula de que la brecha es cero para todos los períodos. Además, las estimaciones de la brecha y los límites de los intervalos de confianza de \(95\%\) indican que la brecha ha sido bastante estable en el pasado reciente.

Referencias bibliográficas

Wickham, Hadley, and Jennifer Bryan. 2019. readxl: Read Excel Files (version 1.3.1). https://CRAN.R-project.org/package=readxl.
Wickham, Hadley, Romain François, Lionel Henry, and Kirill Müller. 2021. dplyr: A Grammar of Data Manipulation (version 1.0.6). https://CRAN.R-project.org/package=dplyr.