### Ejercicio empirico 5: Analisis de relacion entre salario y nivel educativo
# Cargar datos
library(AER)
## Cargando paquete requerido: car
## Cargando paquete requerido: carData
## Cargando paquete requerido: lmtest
## Cargando paquete requerido: zoo
##
## Adjuntando el paquete: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
## Cargando paquete requerido: sandwich
## Cargando paquete requerido: survival
data("CPSSW9298")
## earnings medios por hora en 1992 y 1998
# Filtrar los datos para 1992 y 1998
data_1992 = subset(CPSSW9298, year == 1992)
data_1998 = subset(CPSSW9298, year == 1998)
# Calcular la media de earnings en 1992 y 1998
media_1992 = mean(data_1992$earnings)
media_1998 = mean(data_1998$earnings)
# Mostrar los resultados
cat("Media de earnings en 1992:", media_1992, "\n")
## Media de earnings en 1992: 11.65373
cat("Media de earnings en 1998:", media_1998, "\n")
## Media de earnings en 1998: 13.95815
# Intervalo de confianza para earnings en 1992
ic_1992 = t.test(data_1992$earnings, conf.level = 0.95)
# Intervalo de confianza para earnings en 1998
ic_1998 = t.test(data_1998$earnings, conf.level = 0.95)
# Mostrar los intervalos de confianza
cat("Intervalo de confianza del 95% para los ingresos en 1992:", ic_1992$conf.int, "\n")
## Intervalo de confianza del 95% para los ingresos en 1992: 11.5288 11.77866
cat("Intervalo de confianza del 95% para los ingresos en 1998:", ic_1998$conf.int, "\n")
## Intervalo de confianza del 95% para los ingresos en 1998: 13.7821 14.1342
# Prueba t para la diferencia entre earnings en 1992 y 1998
ic_diferencia = t.test(data_1998$earnings, data_1992$earnings, conf.level = 0.95, paired = FALSE)
# Mostrar el intervalo de confianza para la variación
cat("Intervalo de confianza del 95% para la variacion de los ingresos (1998 - 1992):", ic_diferencia$conf.int, "\n")
## Intervalo de confianza del 95% para la variacion de los ingresos (1998 - 1992): 2.088559 2.520273
## Ingresos medios reales por hora en 1992 y 1998
# Índices de precios al consumidor (CPI)
CPI_1992 = 140.3
CPI_1998 = 215.2
# Ajustar earnings de 1992 a dólares constantes de 1998
data_1992$earnings_adj = data_1992$earnings * (CPI_1998 / CPI_1992)
# Calcular la media de earnings_adj en 1992
media_1992_adj = mean(data_1992$earnings_adj)
# Mostrar los resultados
cat("Media de earnings reales en 1992:", media_1992_adj, "\n")
## Media de earnings reales en 1992: 17.87515
cat("Media de earnings reales en 1998:", media_1998, "\n")
## Media de earnings reales en 1998: 13.95815
# Intervalo de confianza para earnings en 1992
ic_1992_adj = t.test(data_1992$earnings_adj, conf.level = 0.95)
# Mostrar los intervalos de confianza
cat("Intervalo de confianza del 95% para los ingresos reales en 1992:", ic_1992_adj$conf.int, "\n")
## Intervalo de confianza del 95% para los ingresos reales en 1992: 17.68352 18.06677
cat("Intervalo de confianza del 95% para los ingresos reales en 1998:", ic_1998$conf.int, "\n")
## Intervalo de confianza del 95% para los ingresos reales en 1998: 13.7821 14.1342
# Prueba t para la diferencia entre earnings (reales) en 1992 y 1998
ic_diferencia_adj = t.test(data_1998$earnings, data_1992$earnings_adj, conf.level = 0.95, paired = FALSE)
# Mostrar el intervalo de confianza para la variación
cat("Intervalo de confianza del 95% para la variacion de los ingresos reales (1998 - 1992):", ic_diferencia$conf.int, "\n")
## Intervalo de confianza del 95% para la variacion de los ingresos reales (1998 - 1992): 2.088559 2.520273
## Modelo de Salarios reales y el grado escolar
# Unir los datos de salarios reales de 1992 y 1998
library(tidyverse)
## Warning: package 'tidyverse' was built under R version 4.4.1
## Warning: package 'ggplot2' was built under R version 4.4.1
## Warning: package 'tidyr' was built under R version 4.4.1
## Warning: package 'dplyr' was built under R version 4.4.1
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.4 ✔ readr 2.1.5
## ✔ forcats 1.0.0 ✔ stringr 1.5.1
## ✔ ggplot2 3.5.1 ✔ tibble 3.2.1
## ✔ lubridate 1.9.3 ✔ tidyr 1.3.1
## ✔ purrr 1.0.2
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ✖ dplyr::recode() masks car::recode()
## ✖ purrr::some() masks car::some()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
data_1992$earnings = NULL
data_1992 = data_1992 %>% rename(earnings = earnings_adj)
comb_data = bind_rows(data_1992, data_1998)
# Cambiar formato de datos de degree (a factor)
comb_data$degree = as.factor(comb_data$degree)
# Ajustar el modelo
modelo = lm(earnings ~ degree, data = comb_data)
summary(modelo)
##
## Call:
## lm(formula = earnings ~ degree, data = comb_data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -17.040 -5.204 -1.357 3.931 53.986
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 13.85742 0.08539 162.29 <2e-16 ***
## degreebachelor 5.58671 0.13300 42.01 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 7.607 on 13499 degrees of freedom
## Multiple R-squared: 0.1156, Adjusted R-squared: 0.1155
## F-statistic: 1765 on 1 and 13499 DF, p-value: < 2.2e-16
print("El modelo estimado reprenta la relacion entre los ingresos medios reales y el nivel academico. El intercepto representa el ingreso promedio de las personas con nivel de educacion secundaria, que es de 13.86 dolares por hora. Y el coeficiente representa la diferencia de ingresos existente entre el nivel secundario y el nivel universitario, que es de 5.59 dolares en promedio. En otras palabras, los graduados universitarios ganan 5.59 dolares por hora (descontados de la inflacion) mas que los graduados de educacion secundaria")
## [1] "El modelo estimado reprenta la relacion entre los ingresos medios reales y el nivel academico. El intercepto representa el ingreso promedio de las personas con nivel de educacion secundaria, que es de 13.86 dolares por hora. Y el coeficiente representa la diferencia de ingresos existente entre el nivel secundario y el nivel universitario, que es de 5.59 dolares en promedio. En otras palabras, los graduados universitarios ganan 5.59 dolares por hora (descontados de la inflacion) mas que los graduados de educacion secundaria"
## Diferencias salariales entre educacion secundaria y universitaria en 1992 y 1998
# Filtrar los datos por educación secundaria y universitaria
secundaria_1992 = data_1992 %>% filter(degree == "highschool")
universitaria_1992 = data_1992 %>% filter(degree == "bachelor")
secundaria_1998 = data_1998 %>% filter(degree == "highschool")
universitaria_1998 = data_1998 %>% filter(degree == "bachelor")
# Medias salariales en 1992 y 1998
media_secundaria_1992 <- mean(secundaria_1992$earnings)
media_secundaria_1998 <- mean(secundaria_1998$earnings)
media_universitaria_1992 <- mean(universitaria_1992$earnings)
media_universitaria_1998 <- mean(universitaria_1998$earnings)
# Mostrar las medias
cat("Media salarial real de graduados de secundaria en 1992:", media_secundaria_1992, "\n")
## Media salarial real de graduados de secundaria en 1992: 15.3861
cat("Media salarial real de graduados de secundaria en 1998:", media_secundaria_1998, "\n")
## Media salarial real de graduados de secundaria en 1998: 11.71873
cat("Media salarial real de graduados universitarios en 1992:", media_universitaria_1992, "\n")
## Media salarial real de graduados universitarios en 1992: 21.76417
cat("Media salarial real de graduados universitarios en 1998:", media_universitaria_1998, "\n")
## Media salarial real de graduados universitarios en 1998: 16.8041
# Intervalo de confianza para graduados de secundaria
ic_secundaria_1992 <- t.test(secundaria_1992$earnings, conf.level = 0.95)
ic_secundaria_1998 <- t.test(secundaria_1998$earnings, conf.level = 0.95)
# Intervalo de confianza para graduados universitarios
ic_universitaria_1992 <- t.test(universitaria_1992$earnings, conf.level = 0.95)
ic_universitaria_1998 <- t.test(universitaria_1998$earnings, conf.level = 0.95)
# Mostrar intervalos de confianza
cat("Intervalo de Confianza del 95% para los ingresos en el nivel de Secundaria, 1992 :", ic_secundaria_1992$conf.int, "\n")
## Intervalo de Confianza del 95% para los ingresos en el nivel de Secundaria, 1992 : 15.18341 15.5888
cat("Intervalo de Confianza del 95% para los ingresos en el nivel de Secundaria, 1998 :", ic_secundaria_1998$conf.int, "\n")
## Intervalo de Confianza del 95% para los ingresos en el nivel de Secundaria, 1998 : 11.53294 11.90451
cat("Intervalo de Confianza del 95% para los ingresos en el nivel de Universidad, 1992 :", ic_universitaria_1992$conf.int, "\n")
## Intervalo de Confianza del 95% para los ingresos en el nivel de Universidad, 1992 : 21.43442 22.09393
cat("Intervalo de Confianza del 95% para los ingresos en el nivel de Universidad, 1998 :", ic_universitaria_1998$conf.int, "\n")
## Intervalo de Confianza del 95% para los ingresos en el nivel de Universidad, 1998 : 16.51635 17.09184
print("Los salarios reales de los graduados de educacion secundaria no aumentaron entre 1992 y 1998, de hecho, disminuyeron. Pasaron de una media de 15.39 dolares por hora, a una de 11.72 dolares por hora. Asimismo ocurrio con los salarios reales de los graduados universitarios, donde el ingreso medio paso de 21.76 dolares por hora en 1992, a 16.80 dolares por hora en 1998.")
## [1] "Los salarios reales de los graduados de educacion secundaria no aumentaron entre 1992 y 1998, de hecho, disminuyeron. Pasaron de una media de 15.39 dolares por hora, a una de 11.72 dolares por hora. Asimismo ocurrio con los salarios reales de los graduados universitarios, donde el ingreso medio paso de 21.76 dolares por hora en 1992, a 16.80 dolares por hora en 1998."
# Brecha salarial en 1992
brecha_1992 <- media_universitaria_1992 - media_secundaria_1992
# Brecha salarial en 1998
brecha_1998 <- media_universitaria_1998 - media_secundaria_1998
# Mostrar las brechas
cat("Brecha salarial real en 1992:", brecha_1992, "\n")
## Brecha salarial real en 1992: 6.378069
cat("Brecha salarial real en 1998:", brecha_1998, "\n")
## Brecha salarial real en 1998: 5.085368
print("La brecha salarial entre los ingresos de los graduados universitarios y de educacion secundaria se redujo entre 1992 y 1998, pasando desde 6.39 dolares por hora, a solo 5.09 dolares por hora. Esto es una reduccion de la brecha salarial de 1.30 dolares por hora")
## [1] "La brecha salarial entre los ingresos de los graduados universitarios y de educacion secundaria se redujo entre 1992 y 1998, pasando desde 6.39 dolares por hora, a solo 5.09 dolares por hora. Esto es una reduccion de la brecha salarial de 1.30 dolares por hora"
# Ajuste de un modelo para ver las diferencias salariales segun el nivel educativo en cada año
modelo_dif = lm(earnings ~ degree * year, data = comb_data)
summary(modelo_dif)
##
## Call:
## lm(formula = earnings ~ degree * year, data = comb_data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -18.814 -4.988 -1.142 3.666 52.458
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 15.3861 0.1074 143.208 < 2e-16 ***
## degreebachelor 6.3781 0.1720 37.085 < 2e-16 ***
## year1998 -3.6674 0.1664 -22.038 < 2e-16 ***
## degreebachelor:year1998 -1.2927 0.2574 -5.022 5.17e-07 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 7.309 on 13497 degrees of freedom
## Multiple R-squared: 0.1836, Adjusted R-squared: 0.1834
## F-statistic: 1012 on 3 and 13497 DF, p-value: < 2.2e-16
cat("Los resultados del ajuste del modelo nos indica varias cosas:","\n", "1) El intercepto indica que en 1992 los graduados de secundaria tenian un salario real medio de 15.39 unidades.","\n", "2) El primer coeficiente muestra la diferencia salarial entre universitarios y graduados de secundaria en 1992, que era de 6.38 dalares mas.","\n","3) El segundo coeficiente refleja el cambio en el salario de los graduados de secundaria entre 1992 y 1998, los cuales disminuyeron en 3.67 dolares por hora.","\n","Y 4) El ultimo coeficiente indica la diferencia en la brecha salarial entre universitarios y graduados de secundaria entre 1992 y 1998, la cual se redujo en 1.29 dolares por hora. O lo que es lo mismo, los ingresos de los graduados universitarios disminuyeron 1.29 dolares por hora mas que los ingresos de los graduados de secundaria.")
## Los resultados del ajuste del modelo nos indica varias cosas:
## 1) El intercepto indica que en 1992 los graduados de secundaria tenian un salario real medio de 15.39 unidades.
## 2) El primer coeficiente muestra la diferencia salarial entre universitarios y graduados de secundaria en 1992, que era de 6.38 dalares mas.
## 3) El segundo coeficiente refleja el cambio en el salario de los graduados de secundaria entre 1992 y 1998, los cuales disminuyeron en 3.67 dolares por hora.
## Y 4) El ultimo coeficiente indica la diferencia en la brecha salarial entre universitarios y graduados de secundaria entre 1992 y 1998, la cual se redujo en 1.29 dolares por hora. O lo que es lo mismo, los ingresos de los graduados universitarios disminuyeron 1.29 dolares por hora mas que los ingresos de los graduados de secundaria.