En esta lección utilizaremos los datos de la encuesta del observatorio Lima Cómo Vamos de año 2018 que evalúa sobre distintas práctica de responsabilidad social, cultuta ciudadana y participación política.
La base de datos, ficha técnica y cuestionario pueden descargase desde el siguiente enlace. (1) Copie el vínculo, (2) abra una ventana nueva y (3) péguelo en la barra de direcciones:
https://www.dropbox.com/sh/avxc6eolvrwje51/AAC8u1VqrimDqZEx33n6U6sra?dl=0
Participación política. El nivel de participación política se midió con una escala de participación política que se creó a partir del inventario de prácticas políticas contenido en la pregunta 67 del cuestionario del estudio de Lima Cómo Vamos 2018. La consistencia de la escala resúltó aceptable (Alpha de Crobach > .07).
Cargar paquetes
library(foreign)
library(stargazer)
Cargar data de SPSS (“sav”)
lcv18 <- read.spss("IOP_0718_01_01_D.sav", to.data.frame = T , use.value.labels = T)
Exploración de data
names(lcv18)[1:20]
## [1] "INDICE" "SERIE" "NRO" "SEXO"
## [5] "ANIOS" "EDAD" "ESTRATOS_IOP" "ESTRATOS_IOP1"
## [9] "NSE_IOP" "NSE_IOP1" "UBIGEO" "NSE1"
## [13] "NSE2A" "NSE2B" "NSE2C" "NSE2D"
## [17] "NSE2E" "NSE2F" "NSE3_1" "NSE3_2"
El objetivo del primer ejercicio es calcular un modelo de regresión lineal múltiple para dar cuenta del nivel de participación política de los ciudadanos limeños.
En este caso, vamos a partir de un modelo 1 que considera como variables explicativas del modelo un primer grupo factores sociodemográficos: edad (“EDAD”), sexo (“SEXO”).
Luego, vamos a calcular un modelo 2 que, además de las variables del primer grupo, incluya al nivel educativo (DG1_1).
Cálculo de modelos 1 y 2
modelo1 <- lm(PP ~ ANIOS + SEXO, lcv18)
Nota: antes de introducir la variable de nivel educativo (“DG1_1”), debemos hacer algunos arreglos:
table(lcv18$DG1_1)
##
## Ninguno / Sin instrucción/ Sin educación
## 10
## Inicial o primaria incompleta
## 35
## Primaria completa
## 99
## Secundaria Incompleta
## 179
## Secundaria Completa
## 691
## Superior No Universitaria Incompleta/Sup. Técnica Incompleta
## 136
## Superior No Universitaria Completa/Sup. Técnica Completa
## 283
## Superior Universitaria Incompleta
## 173
## Superior Universitaria Completa
## 297
## Postgrado Universitario
## 17
Antes que nada… debemos de hacer la transformación a un objeto numérico:
lcv18$nivedu.n <- as.numeric(lcv18$DG1_1)
Corroboramos que no exista error y que las frecuencias “cuadren” con la tabla antes de la transformación:
table(lcv18$nivedu.n)
##
## 1 2 3 4 5 6 7 8 9 10
## 10 35 99 179 691 136 283 173 297 17
Finalmente, podemos calcular un nuevo modelo con la variable de nivel educativo:
modelo2 <- lm(PP ~ ANIOS + SEXO + nivedu.n, lcv18)
Comparación de modelos
stargazer(modelo1, modelo2, type = "text",
omit.stat=c("ser","f"),
model.numbers = FALSE, object.names = TRUE,
star.cutoffs = c(0.05, 0.01, 0.001))
##
## ===========================================
## Dependent variable:
## ------------------------------
## PP
## modelo1 modelo2
## -------------------------------------------
## ANIOS -0.071*** -0.066***
## (0.019) (0.020)
##
## SEXOMujer -1.187 -1.139
## (0.636) (0.636)
##
## nivedu.n 0.248
## (0.168)
##
## Constant 54.489*** 52.766***
## (0.901) (1.475)
##
## -------------------------------------------
## Observations 1,604 1,604
## R2 0.010 0.012
## Adjusted R2 0.009 0.010
## ===========================================
## Note: *p<0.05; **p<0.01; ***p<0.001
Preguntas
Evalúe si el ajuste de los modelos es significativo
Evalúe si es pertinente mantener todas las variables propuestas
¿Es posible que el nivel educativo cobre relevancia cuando la persona es mayor? Contraste la hipótesis
Modelo con “efecto” interactivo e independientes
modelo4 <- lm(PP ~ ANIOS*nivedu.n, lcv18)
Modelo con efecto interactivo sin efectos independientes
modelo5 <- lm(PP ~ ANIOS:nivedu.n, lcv18)
Formato
stargazer( modelo4, modelo5, type = "text",
omit.stat=c("ser","f"),
model.numbers = FALSE, object.names = TRUE,
star.cutoffs = c(0.05, 0.01, 0.001))
##
## =============================================
## Dependent variable:
## ------------------------------
## PP
## modelo4 modelo5
## ---------------------------------------------
## ANIOS -0.176**
## (0.058)
##
## nivedu.n -0.585
## (0.453)
##
## ANIOS:nivedu.n 0.019* -0.002
## (0.009) (0.003)
##
## Constant 57.126*** 51.544***
## (2.891) (0.696)
##
## ---------------------------------------------
## Observations 1,604 1,604
## R2 0.012 0.0004
## Adjusted R2 0.010 -0.0002
## =============================================
## Note: *p<0.05; **p<0.01; ***p<0.001
Preguntas
Para el ejercicio propuesto a la clase, vamos a especificar mejor el modelo de regresión lineal múltiple de la participación política.
En este caso, vamos a incluir a las esperiencias de victimización por acoso sexual callejero (“VS5D”/P28G) y el estrato de residencia (“ESTRATOS_IOP”) (modelo 6).
Asimismo, también vamos a calcular un modelo con efecto interactivo e independiente (modelo 7).
modelo6 <- lm(PP ~ ESTRATOS_IOP + VS5D, lcv18)
modelo7 <- lm(PP ~ ESTRATOS_IOP + VS5D + ESTRATOS_IOP*VS5D , lcv18)
stargazer(modelo4, modelo6, modelo7, type = "text",
omit.stat=c("ser","f"),
model.numbers = FALSE, object.names = TRUE,
star.cutoffs = c(0.05, 0.01, 0.001))
##
## =============================================================
## Dependent variable:
## -------------------------------
## PP
## modelo4 modelo6 modelo7
## -------------------------------------------------------------
## ANIOS -0.176**
## (0.058)
##
## nivedu.n -0.585
## (0.453)
##
## ANIOS:nivedu.n 0.019*
## (0.009)
##
## ESTRATOS_IOPLima Este 3.131*** 0.874
## (0.848) (1.043)
##
## ESTRATOS_IOPLima Norte 4.281*** 3.850***
## (0.877) (1.048)
##
## ESTRATOS_IOPLima Sur 0.758 2.189
## (0.983) (1.274)
##
## VS5DSí 2.766*** 0.731
## (0.657) (1.396)
##
## ESTRATOS_IOPLima Este:VS5DSí 5.883**
## (1.800)
##
## ESTRATOS_IOPLima Norte:VS5DSí 1.751
## (1.901)
##
## ESTRATOS_IOPLima Sur:VS5DSí -1.877
## (2.041)
##
## Constant 57.126*** 47.805*** 48.337***
## (2.891) (0.640) (0.714)
##
## -------------------------------------------------------------
## Observations 1,604 1,603 1,603
## R2 0.012 0.031 0.043
## Adjusted R2 0.010 0.029 0.039
## =============================================================
## Note: *p<0.05; **p<0.01; ***p<0.001
¿Cuáles son las principales diferencias entre el modelo 6 y el modelo 7?
¿En el cuestionario habría otra experiencia de victimización que podría incluirse en un modelo 7.1?
El rol de la eficacia política
Existe algunos items dentro del cuestionario que pertenecen al mismo constructo. Este es el caso de los items de la pregunta 66 sobre participación ciudadana. Todos estos items están referidos al constructo denominado eficacia política (capacidad del ciudadano para influir en las autoridades).
En este caso, vamos a tomar solo dos de los items de la pregunta 66, dado que no requieren ser revertidos: “PC4C”/P66C y “P4CE”/P66E.
##install.packages("psych", dependencies=T)
library(psych)
Para saber si estos dos items pueden formar parte de la una escala, podemos realizar un análisis de consistencia.
Primero, hay que convertir los objetos de factor a numérico y los colocamos en un dataframe.
table(lcv18$PC4C)
##
## Muy en desacuerdo 2 3 4
## 123 369 671 556
## Muy de acuerdo
## 148
table(lcv18$PC4E)
##
## Muy en desacuerdo 2 3 4
## 113 326 636 531
## Muy de acuerdo
## 174
PC4C.n <- as.numeric(lcv18$PC4C)
PC4E.n <- as.numeric(lcv18$PC4E)
table(PC4C.n)
## PC4C.n
## 1 2 3 4 5
## 123 369 671 556 148
table(PC4E.n)
## PC4E.n
## 1 2 3 4 5
## 113 326 636 531 174
items <- data.frame(PC4C.n, PC4E.n)
Ahora, calculamos la consistencia de la escala con la función “alpha” que calcula el Alpha de Cronbach:
alpha(items)
##
## Reliability analysis
## Call: alpha(x = items)
##
## raw_alpha std.alpha G6(smc) average_r S/N ase mean sd median_r
## 0.6 0.6 0.43 0.43 1.5 0.018 3.1 0.89 0.43
##
## lower alpha upper 95% confidence boundaries
## 0.57 0.6 0.64
##
## Reliability if an item is dropped:
## raw_alpha std.alpha G6(smc) average_r S/N alpha se var.r med.r
## PC4C.n 0.43 0.43 0.19 0.43 0.76 NA 0 0.43
## PC4E.n 0.44 0.43 0.19 0.43 0.76 NA 0 0.43
##
## Item statistics
## n raw.r std.r r.cor r.drop mean sd
## PC4C.n 1867 0.86 0.85 0.56 0.43 3.1 1
## PC4E.n 1780 0.85 0.85 0.56 0.43 3.2 1
##
## Non missing response frequency for each item
## 1 2 3 4 5 miss
## PC4C.n 0.07 0.20 0.36 0.3 0.08 0.03
## PC4E.n 0.06 0.18 0.36 0.3 0.10 0.07
Finalmente, calculamos el índice de eficacia política:
lcv18$EP <- (PC4C.n + PC4E.n)/2
Calculo de modelo final con eficacia política
modelo8 <- lm(PP ~ ESTRATOS_IOP + ESTRATOS_IOP:VS5D + EP , lcv18)
stargazer(modelo4, modelo6, modelo7, modelo8, type = "text",
omit.stat=c("ser","f"),
model.numbers = FALSE, object.names = TRUE,
star.cutoffs = c(0.05, 0.01, 0.001))
##
## ======================================================================
## Dependent variable:
## ---------------------------------------
## PP
## modelo4 modelo6 modelo7 modelo8
## ----------------------------------------------------------------------
## ANIOS -0.176**
## (0.058)
##
## nivedu.n -0.585
## (0.453)
##
## ANIOS:nivedu.n 0.019*
## (0.009)
##
## ESTRATOS_IOPLima Este 3.131*** 0.874 1.039
## (0.848) (1.043) (1.016)
##
## ESTRATOS_IOPLima Norte 4.281*** 3.850*** 5.703***
## (0.877) (1.048) (1.045)
##
## ESTRATOS_IOPLima Sur 0.758 2.189 3.770**
## (0.983) (1.274) (1.279)
##
## VS5DSí 2.766*** 0.731
## (0.657) (1.396)
##
## EP 3.753***
## (0.351)
##
## ESTRATOS_IOPLima Centro:VS5DSí 1.589
## (1.369)
##
## ESTRATOS_IOPLima Este:VS5DSí 5.883** 6.231***
## (1.800) (1.102)
##
## ESTRATOS_IOPLima Norte:VS5DSí 1.751 1.134
## (1.901) (1.276)
##
## ESTRATOS_IOPLima Sur:VS5DSí -1.877 -1.364
## (2.041) (1.500)
##
## Constant 57.126*** 47.805*** 48.337*** 35.982***
## (2.891) (0.640) (0.714) (1.335)
##
## ----------------------------------------------------------------------
## Observations 1,604 1,603 1,603 1,504
## R2 0.012 0.031 0.043 0.121
## Adjusted R2 0.010 0.029 0.039 0.116
## ======================================================================
## Note: *p<0.05; **p<0.01; ***p<0.001
— ¿Es posible que el modelo mejore su poder explicativo en alguno de los estratos de la ciudad de Lima? Compara “Lima norte” vs. “Lima Este”