setwd("/home/daniel/Dropbox/U CENTRAL/02 2020/02 Segundo semestre 2020/Estratificación y desigualdad social/Clases/10")
rm(list=ls())
library(foreign)
library(dplyr)
library(spatstat)
library(texreg)
library(ggplot2)
library(jtools)
library(sjPlot)

NOTA: Esto es sólo un ejercicio demostrativo, los resultados no deben ser tomado como totalmente válidos.

Procesamiento

Cargar base de datos original.

Seleccionar variables a utilizar y casos con 15 años o más.

casen2017 <- select(filter(data2017, edad >= 15), c(folio, o, id_vivienda, hogar, region, 
                                                    provincia, comuna, zona, expr, varstrat,
                                                    varunit, sexo, educ, edad,
                                                    ytotcor)) # seleccionar y filtrar
casen2017 <- rename(casen2017,ingreso=ytotcor) #renombrar
rm(data2017, metadata)

Nivel educacional

levels(casen2017$educ) # Ver niveles
##  [1] "Sin Educ. Formal"                  "Básica Incom."                    
##  [3] "Básica Compl."                     "M. Hum. Incompleta"               
##  [5] "M. Téc. Prof. Incompleta"          "M. Hum. Completa"                 
##  [7] "M. Téc Completa"                   "Técnico Nivel Superior Incompleta"
##  [9] "Técnico Nivel Superior Completo"   "Profesional Incompleto"           
## [11] "Postgrado Incompleto"              "Profesional Completo"             
## [13] "Postgrado Completo"                "NS/NR"
#Recodificar
casen2017$educ <- as.integer(casen2017$educ)
casen2017$educ[casen2017$educ == 1] <- 1
casen2017$educ[casen2017$educ == 2] <- 2
casen2017$educ[casen2017$educ == 3] <- 3
casen2017$educ[casen2017$educ == 4] <- 4
casen2017$educ[casen2017$educ == 5] <- 4
casen2017$educ[casen2017$educ == 6] <- 5
casen2017$educ[casen2017$educ == 7] <- 5
casen2017$educ[casen2017$educ == 8] <- 6
casen2017$educ[casen2017$educ == 9] <- 7
casen2017$educ[casen2017$educ == 10] <- 6
casen2017$educ[casen2017$educ == 11] <- 7
casen2017$educ[casen2017$educ == 12] <- 7
casen2017$educ[casen2017$educ == 13] <- 7
casen2017$educ[casen2017$educ == 14] <- NA
table(casen2017$educ)
## 
##     1     2     3     4     5     6     7 
##  4713 23370 19051 27553 51501 18561 29309
casen2017$educ <- as.factor(casen2017$educ)
levels(casen2017$educ) <- c("Sin educación formal", "Básica incompleta", "Básica completa", "Media incompleta", "Media completa", "Superior incompleta", "Superior completa")
#Tabla con variable recodificada
table(casen2017$educ, useNA = "always")
## 
## Sin educación formal    Básica incompleta      Básica completa 
##                 4713                23370                19051 
##     Media incompleta       Media completa  Superior incompleta 
##                27553                51501                18561 
##    Superior completa                 <NA> 
##                29309                 1018

Sexo

table(casen2017$sexo, useNA = "always") #Todo bien
## 
## Hombre  Mujer   <NA> 
##  82136  92940      0

Ingreso

class(casen2017$ingreso) #qué clase de vector? numérico
## [1] "numeric"
table(is.na(casen2017$ingreso)) #Hay casos perdidos? 37167
## 
##  FALSE   TRUE 
## 137909  37167
boxplot(casen2017$ingreso) #Diagrama de cajas con outliers

#Gran cantidad de puntos fuera de los bigotes, alerta presencia de valores atípicos.
#Se decide identificar valores atípicos (outliers) y dejarlos como NA
#función para identificar valores atípicos como casos más distantes que  1.5 veces el rango intercuantilico (IQR) y reemplazarlos por NA.
outliersNA <- function(x, na.rm = TRUE, ...) {
  qnt <- quantile(x, probs=c(.25, .75), na.rm = na.rm, ...)
  H <- 1.5 * IQR(x, na.rm = na.rm)
  y <- x
  y[x < (qnt[1] - H)] <- NA
  y[x > (qnt[2] + H)] <- NA
  y
} 
#remover outliers
casen2017$ingreso.corregido <- outliersNA(casen2017$ingreso, na.rm = TRUE)

boxplot(casen2017$ingreso.corregido) #Diagrama de cajas sin outliers

summary(casen2017$ingreso) #descriptivos con outliers
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max.     NA's 
##       83   140000   295038   447751   500000 84700000    37167
summary(casen2017$ingreso.corregido) #descriptivos sin outliers
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
##      83  125371  276000  313627  420000 1040000   47267

##Análisis

#Descriptivo

Ingreso según nivel educacional.

boxplot(ingreso.corregido ~ educ , data = casen2017, ylab = "Ingreso total", xlab = "Nivel educacional")

Ingreso según sexo.

boxplot(ingreso.corregido ~ sexo , data = casen2017, ylab = "Ingreso total", xlab = "Sexo")

#Inferencial

Primero, analizamos brechas de ingreso según educación y sexo por separado.

M1 <- lm(ingreso.corregido ~ 1 + educ + sexo + edad + zona + region, data = casen2017, weights = expr) #Estimación

screenreg(M1) # Reporte tabla
## 
## ======================================================================
##                                                         Model 1       
## ----------------------------------------------------------------------
## (Intercept)                                              213495.88 ***
##                                                           (5788.98)   
## educBásica incompleta                                     53440.98 ***
##                                                           (3630.84)   
## educBásica completa                                       85429.97 ***
##                                                           (3697.11)   
## educMedia incompleta                                      89906.87 ***
##                                                           (3659.98)   
## educMedia completa                                       176061.92 ***
##                                                           (3543.45)   
## educSuperior incompleta                                  178338.59 ***
##                                                           (3991.06)   
## educSuperior completa                                    364904.80 ***
##                                                           (3685.92)   
## sexoMujer                                               -111626.42 ***
##                                                           (1119.01)   
## edad                                                        901.67 ***
##                                                             (33.55)   
## zonaRural                                                -27586.22 ***
##                                                           (1767.50)   
## regionRegión de Antofagasta                               24438.66 ***
##                                                           (5391.48)   
## regionRegión de Atacama                                   -4941.58    
##                                                           (6231.53)   
## regionRegión de Coquimbo                                 -55807.39 ***
##                                                           (4988.67)   
## regionRegión de Valparaíso                               -40248.60 ***
##                                                           (4527.19)   
## regionRegión del Libertador Gral. Bernardo O’Higgins     -36304.86 ***
##                                                           (4831.74)   
## regionRegión del Maule                                   -54086.87 ***
##                                                           (4762.70)   
## regionRegión del Biobío                                  -58039.09 ***
##                                                           (4571.42)   
## regionRegión de La Araucanía                             -68987.78 ***
##                                                           (4793.29)   
## regionRegión de Los Lagos                                -44316.90 ***
##                                                           (4858.28)   
## regionRegión de Ayséndel Gral. Carlos Ibáñez del Campo    17048.49 *  
##                                                           (8392.59)   
## regionRegión de Magallanes y de la Antártica Chilena      29087.53 ***
##                                                           (7346.48)   
## regionRegión Metropolitana de Santiago                    -8919.88 *  
##                                                           (4286.14)   
## regionRegión de Los Ríos                                 -52746.11 ***
##                                                           (5654.64)   
## regionRegión de Arica y Parinacota                       -42147.21 ***
##                                                           (7293.82)   
## regionRegión de Ñuble                                    -76163.38 ***
##                                                           (5352.37)   
## ----------------------------------------------------------------------
## R^2                                                           0.26    
## Adj. R^2                                                      0.26    
## Num. obs.                                                127050       
## ======================================================================
## *** p < 0.001; ** p < 0.01; * p < 0.05

Gráfico valores predichos por nivel educacional.

effect_plot(M1, pred = educ, interval = TRUE)

Gráfico valores predichos por sexo.

effect_plot(M1, pred = sexo, interval = TRUE)

Luego, analizamos si hay interacción entre sexo y nivel educacional (interseccionalidad).

M2 <- lm(ingreso.corregido ~ 1 + educ + sexo + sexo*educ + edad + zona + region, 
         data = casen2017, weights = expr) #Estimación

screenreg(list(M1,M2)) # Reporte tabla
## 
## =====================================================================================
##                                                         Model 1         Model 2      
## -------------------------------------------------------------------------------------
## (Intercept)                                              213495.88 ***  180421.99 ***
##                                                           (5788.98)      (6765.86)   
## educBásica incompleta                                     53440.98 ***   81665.17 ***
##                                                           (3630.84)      (5375.83)   
## educBásica completa                                       85429.97 ***  129439.97 ***
##                                                           (3697.11)      (5411.47)   
## educMedia incompleta                                      89906.87 ***  128666.18 ***
##                                                           (3659.98)      (5330.38)   
## educMedia completa                                       176061.92 ***  218689.36 ***
##                                                           (3543.45)      (5142.97)   
## educSuperior incompleta                                  178338.59 ***  197577.87 ***
##                                                           (3991.06)      (5701.76)   
## educSuperior completa                                    364904.80 ***  375193.47 ***
##                                                           (3685.92)      (5392.15)   
## sexoMujer                                               -111626.42 ***  -52382.22 ***
##                                                           (1119.01)      (6631.04)   
## edad                                                        901.67 ***     913.60 ***
##                                                             (33.55)        (33.52)   
## zonaRural                                                -27586.22 ***  -27749.52 ***
##                                                           (1767.50)      (1765.44)   
## regionRegión de Antofagasta                               24438.66 ***   24357.14 ***
##                                                           (5391.48)      (5381.07)   
## regionRegión de Atacama                                   -4941.58       -4602.45    
##                                                           (6231.53)      (6219.52)   
## regionRegión de Coquimbo                                 -55807.39 ***  -55676.71 ***
##                                                           (4988.67)      (4979.09)   
## regionRegión de Valparaíso                               -40248.60 ***  -39927.15 ***
##                                                           (4527.19)      (4518.52)   
## regionRegión del Libertador Gral. Bernardo O’Higgins     -36304.86 ***  -36254.45 ***
##                                                           (4831.74)      (4822.44)   
## regionRegión del Maule                                   -54086.87 ***  -54046.04 ***
##                                                           (4762.70)      (4753.63)   
## regionRegión del Biobío                                  -58039.09 ***  -58068.07 ***
##                                                           (4571.42)      (4562.70)   
## regionRegión de La Araucanía                             -68987.78 ***  -69379.84 ***
##                                                           (4793.29)      (4784.27)   
## regionRegión de Los Lagos                                -44316.90 ***  -44966.88 ***
##                                                           (4858.28)      (4849.06)   
## regionRegión de Ayséndel Gral. Carlos Ibáñez del Campo    17048.49 *     16779.60 *  
##                                                           (8392.59)      (8376.39)   
## regionRegión de Magallanes y de la Antártica Chilena      29087.53 ***   29207.83 ***
##                                                           (7346.48)      (7332.33)   
## regionRegión Metropolitana de Santiago                    -8919.88 *     -8733.13 *  
##                                                           (4286.14)      (4277.97)   
## regionRegión de Los Ríos                                 -52746.11 ***  -52953.81 ***
##                                                           (5654.64)      (5643.90)   
## regionRegión de Arica y Parinacota                       -42147.21 ***  -41769.41 ***
##                                                           (7293.82)      (7279.75)   
## regionRegión de Ñuble                                    -76163.38 ***  -76222.07 ***
##                                                           (5352.37)      (5342.22)   
## educBásica incompleta:sexoMujer                                         -51620.01 ***
##                                                                          (7276.50)   
## educBásica completa:sexoMujer                                           -82523.37 ***
##                                                                          (7380.85)   
## educMedia incompleta:sexoMujer                                          -72011.13 ***
##                                                                          (7233.15)   
## educMedia completa:sexoMujer                                            -79473.55 ***
##                                                                          (6914.55)   
## educSuperior incompleta:sexoMujer                                       -32970.72 ***
##                                                                          (7655.45)   
## educSuperior completa:sexoMujer                                         -21047.14 ** 
##                                                                          (7189.01)   
## -------------------------------------------------------------------------------------
## R^2                                                           0.26           0.27    
## Adj. R^2                                                      0.26           0.27    
## Num. obs.                                                127050         127050       
## =====================================================================================
## *** p < 0.001; ** p < 0.01; * p < 0.05

Gráfico con valores predichos con interacción sexo y educación.

plot_model(M2, type = "int")

¿Qué conclusiones sutantivas podemos extraer de este ejercicio?