Introducción
La desigualdad de género en el ámbito laboral sigue siendo un fenómeno persistente en muchos países europeos. Esta se manifiesta principalmente a través de diferencias salariales entre hombres y mujeres y de una desigual distribución del empleo, tanto en términos de participación en el mercado de trabajo como de acceso a puestos de mayor estabilidad y responsabilidad. El análisis del gender pay gap y de los niveles de empleo permite comprender mejor las dinámicas estructurales que influyen en estas desigualdades y evaluar la eficacia de las políticas orientadas a promover la igualdad de género.
Bases de Datos
Las bases de datos utilizadas han sido la de Eurostat y de la Union Europea
Librerías
Primera parte: Analisis de la brecha de género en el salario
Proceso de obtención y preparación de los datos
En primer lugar, se consulta la base de datos de Eurostat y se selecciona la tabla earn_gr_goeg, que recoge información sobre la brecha salarial de género. A continuación, los datos se descargan directamente de Eurostat.
Mostrar / ocultar código
aa <- search_eurostat("all")
# select some data from Eurostat
my_table <- "earn_gr_goeg"
label_eurostat_tables(my_table)
#> [1] "Gender overall earnings gap"
#dowloading the selected data with get_eurostat()
df <- get_eurostat(my_table, time_format = 'raw', keepFlags = TRUE) #- downloads the table from Eurostat API
#>
indexed 0B in 0s, 0B/s
indexed 1.00TB in 0s, 1.57PB/s
#- obtenemos los descriptores de los códigos de las variables
df_names <- names(df)
df <- label_eurostat(df, code = df_names, fix_duplicated = TRUE)
rm(aa, df_names, my_table)
#clean df con: geo, year, value.
df_work <- df %>%
mutate(
year = as.integer(TIME_PERIOD),
value = as.numeric(values)
) %>%
select(geo_code, geo, year, value)
# pais con el max gap, el min y la media:
df_2018 <- df_work %>% filter(year == 2018)
gap_summary_ue <- df_2018 %>%
summarise(
max_gap = max(value, na.rm = TRUE),
min_gap = min(value, na.rm = TRUE),
mean_gap = mean(value, na.rm = TRUE)
)
gap_summary_ue
#> # A tibble: 1 × 3
#> max_gap min_gap mean_gap
#> <dbl> <dbl> <dbl>
#> 1 44.2 20.4 30.9Algunos gráficos
Primer gráfico
El gráfico muestra que en 2018 existían diferencias salariales de género muy marcadas entre los países europeos. Los valores más altos se observan en países como Austria, Países Bajos y Suiza, donde la brecha supera ampliamente la media europea. En cambio, Lituania, Portugal y Eslovenia presentan los niveles más bajos de desigualdad salarial. La media de la Unión Europea se sitúa en una posición intermedia, lo que indica que, aunque en algunos países la brecha es más reducida, la desigualdad de género en los salarios sigue siendo un problema estructural en Europa.
Segundo grafico: en comparación con la media europea
El gráfico muestra el gender pay gap en los países europeos en 2018, incorporando una línea discontinua que representa la media de la UE. Se observa que Austria, Países Bajos, Suiza, Italia y Alemania presentan una brecha claramente superior a la media europea, lo que indica mayores desigualdades salariales entre hombres y mujeres. Por el contrario, países como Lituania, Portugal y Eslovenia se sitúan muy por debajo de la media, reflejando menores diferencias salariales de género. España e Italia destacan por su posición cercana pero ligeramente superior a la media, mostrando una situación intermedia dentro del contexto europeo.
Mostrar / ocultar código
#- segundo gráfico
mean_ue_2018 <- df_2018 %>%
summarise(mean_gap = mean(value, na.rm = TRUE)) %>%
pull(mean_gap)
g2 <- ggplot(df_2018, aes(
x = reorder(geo, value),
y = value,
fill = geo_code %in% c("IT", "ES")
)) +
geom_col() +
geom_hline(
yintercept = mean_ue_2018,
linetype = "dashed",
linewidth = 1
) +
coord_flip() +
labs(
title = "Brecha salarial en los piases UE (2018)",
subtitle = "Línea discontinua = media de la UE",
x = "Paese",
y = "Gap (%)"
) +
theme_minimal() +
guides(fill = "none")
print(g2)Tercer Grafico: Ida ITA vs ES
El gráfico muestra la evolución del gender pay gap en Italia y España entre 2010 y 2018. En ambos países se observa una tendencia descendente, lo que indica una reducción progresiva de la brecha salarial de género a lo largo del tiempo.
No obstante, Italia presenta valores sistemáticamente más altos que España en todos los años analizados, y la disminución es más moderada. En cambio, España registra una reducción más marcada, especialmente entre 2010 y 2018, acercándose a niveles relativamente más bajos.
Mostrar / ocultar código
#- tercer gráfico
#ida italia vs spain
df_it_es <- df_work %>%
filter(geo_code %in% c("IT", "ES"))
# grafico temporale
g_it_es <- ggplot(df_it_es, aes(
x = year,
y = value,
color = geo
)) +
geom_line(linewidth = 1) +
geom_point(size = 2) +
labs(
title = "Ida gender pay gap: Italia e Espana",
subtitle = "valores nel tiempo",
x = "Ano",
y = "Gap (%)",
color = "Pais"
) +
theme_minimal()
print(g_it_es)Segunda parte: Analisis de la brecha de género en el empleo
Proceso de obtención y preparación de los datos
En esta sección se trabaja con un conjunto de datos descargado de la Unión Europea sobre la brecha de género en el empleo. Tras importar el archivo CSV, los datos se limpian y se estructuran correctamente, convirtiendo las variables clave (país, año y valor del indicador) a los formatos adecuados y eliminando observaciones incompletas. Posteriormente, se realiza un análisis de largo plazo por país, calculando estadísticas descriptivas y la variación total del indicador entre el primer y el último año disponible, con el objetivo de comparar la evolución de la brecha de empleo entre los distintos países europeos.
Mostrar / ocultar código
Tabla variaciones a largo plazo
La tabla resume la evolución a largo plazo del indicador por país, mostrando el periodo analizado, los valores mínimos y máximos, la media y la variación total entre el primer y el último año disponible. Permite comparar de forma sintética el nivel actual y la dinámica temporal del indicador entre los distintos países.
Mostrar / ocultar código
library(dplyr)
library(DT)
summary_by_geo <- df_work %>%
group_by(geo) %>%
summarise(
year_min = min(year),
year_max = max(year),
mean_value = mean(value),
sd_value = sd(value),
min_value = min(value),
max_value = max(value),
value_first = value[which.min(year)],
value_last = value[which.max(year)],
delta_total = value_last - value_first,
.groups = "drop"
) %>%
arrange(desc(value_last))
DT::datatable(
summary_by_geo,
caption = "Resumen por país: evolución y variación de largo plazo del indicador",
options = list(
pageLength = 10,
autoWidth = TRUE
)
)Algunos gráficos
Primer gráfico: tendencia media anual del indicador para los países europeos
El código calcula la tendencia media anual del indicador para los países europeos, excluyendo los valores agregados de la UE y de la zona euro para evitar duplicaciones. Para cada año se obtiene el valor promedio del indicador entre los países, y posteriormente se representa gráficamente mediante un gráfico de líneas con puntos. El resultado permite observar la evolución temporal de la media europea, facilitando la identificación de tendencias generales en la brecha de género a lo largo del tiempo.
Mostrar / ocultar código
eu_trend <- df_work %>%
filter(!geo %in% c("EU27_2020","EA20")) %>%
group_by(year) %>%
summarise(
mean_value = mean(value),
.groups = "drop"
)
ggplot(eu_trend, aes(x = year, y = mean_value)) +
geom_line(linewidth = 1) +
geom_point(size = 2) +
labs(
title = "tendencia media del indicador en los países europeos",
x = "Ano",
y = "valor promedio"
) +
theme_minimal()Segundo grafico: nivel actual del indicador con su variación a largo plazo
Este gráfico compara, para cada país, el nivel actual del indicador con su variación a largo plazo. En el eje horizontal se representa el cambio total entre el primer y el último año disponible, mientras que en el eje vertical se muestra el valor más reciente del indicador. Las líneas discontinuas facilitan la lectura: la línea vertical distingue entre países que han mejorado o empeorado en el tiempo, y la horizontal señala la mediana del nivel actual. De este modo, el gráfico permite identificar distintos perfiles nacionales, combinando situación actual y dinámica de evolución de la brecha de género.
Mostrar / ocultar código
summary_plot <- summary_by_geo %>%
filter(!geo %in% c("EU27_2020","EA20"))
ggplot(summary_plot, aes(x = delta_total, y = value_last, label = geo)) +
geom_hline(yintercept = median(summary_plot$value_last), linetype = "dashed") +
geom_vline(xintercept = 0, linetype = "dashed") +
geom_point(size = 2) +
ggrepel::geom_text_repel(size = 3, max.overlaps = 15) +
labs(
title = "Nivel actual vs. cambio a largo plazo",
x = "Delta total (ultimo - primo)",
y = "Valore ultimo anno disponibile"
) +
theme_minimal()Tercer Grafico: Distribución durante el último año disponible
Este tercer gráfico muestra la distribución del indicador en el último año disponible para los países europeos. Tras identificar el año más reciente del conjunto de datos, se seleccionan únicamente los valores correspondientes a ese periodo y se excluyen los agregados europeos. El gráfico de barras, ordenado de mayor a menor y con los países en el eje vertical, permite comparar de forma clara las diferencias entre países en el momento más actual, destacando aquellos con valores más altos y más bajos del indicador.
Mostrar / ocultar código
last_year <- max(df_work$year)
df_last <- df_work %>%
filter(year == last_year) %>%
filter(!geo %in% c("EU27_2020","EA20")) %>%
arrange(desc(value))
ggplot(df_last, aes(x = reorder(geo, value), y = value)) +
geom_col() +
coord_flip() +
labs(
title = paste(" Distribución durante el último año disponible (", last_year, ")", sep = ""),
x = "Pais",
y = "valor"
) +
theme_minimal()Con esto acabo mi trabajo para BigData!!
:::: :::::