En este taller vamos a replicar el informe 142 de la Serie Perspectivas desde el Barómetro de las Américas. Se puede ver aquí la lista de los reportes aquí. El informe 142 se puede conseguir en español aquí. Para este taller, se asume que los participantes tienen un conocimiento básico de R y RStudio. A lo largo de este taller, explicaremos, paso a paso, los procedimientos en RStudio para producir las tablas y gráficos que se ven en los informes. En estos informes, estas tablas y gráficos han sido producidos originalmente en STATA.
En resumen, este informe presenta el promedio de confianza en los medios de comunicación en las Américas y dos modelos explicativos de la confianza en los medios usando factores socioeconómicos y factores políticos en modelos de regresión lineal.
Los datos que vamos a usar deben citarse de la siguiente manera: Fuente: Barómetro de las Américas por el Proyecto de Opinión Pública de América Latina (LAPOP), wwww.LapopSurveys.org.
Pueden descargar los datos de manera libre aquí
En este enlace, se puede registrar o entrar como “Free User”. En el buscador, se puede ingresar el texto “merge”. Ahí se tendrá acceso a la base de datos completa “2004-2018 Grand Merge Free” en versión para STATA. Se descarga la base de datos en formato zip, la que se descomprime en formato .dta.
Debido a que estas bases de datos son muy grandes (42MB en formato zip), para este taller vamos a trabajar con una versión reducida, que incluye los países y años seleccionados en el informe. Esta base de datos y todos los materiales para esta taller se pueden descargar aquí
library(rio) # Para importar los datos
library(ggplot2) # Para hacer gráficos tipo ggplot
library(Rmisc) # Para poder usar la función summarySE
library(descr) # Para poder usar la función crosstab y compmeans
###Si se trabajara con la base de datos descargada del repositorio de LAPOP
Se carga la base de datos de STATA en R en un dataframe “lapopmerge”. Tenga en cuenta que la base de datos tiene que estar en su directorio de trabajo (working directory). Para este Insights se analiza la ronda 2016/17, por lo que se selecciona esta ronda en el merge total. Se crea un nuevo dataframe “lapop”. Luego, también se elimina las observaciones de los países que no se analizan en este reporte por no tener datos de la variable sobre medios de comunicación. Se elimina el dataframe del Merge original. Finalmente el dataframe “lapop” incluye solo la ronda 2016/17 y los países de análisis.
lapopmerge <- import("LAPOP_Merge_2004_2018.dta")
lapop <- subset(lapopmerge, wave==2016)
lapop <- subset(lapop, pais<=23 | pais>=40)
rm(lapopmerge)
En este taller vamos a trabajar con una versión simplificada de la base de datos, que incluye solo las variables necesarias para el análisis. Esta base reducida directamente la leemos en RStudio y seleccionamos la ronda de trabajo.
lapop <- import("LAPOP_reduced_merge.dta")
lapop <- subset(lapop, wave==2016)
La autora indica que para este reporte se ha usado la pregunta: B37: ¿Hasta qué punto tiene usted confianza en los medios de comunicación?
La escala original de la variable iba de 1 a 7, donde 1 indica “Nada” y 7 “Mucho”. Para reproducir la Figura 1 primero se tiene que recodificar la variable dependiente b37 en una nueva variable b37r. El texto indica que la recodificación es como sigue: valores entre 1 y 4 tienen un nuevo valor de 0 y valores entre 5 y 7, un nuevo valor de 100.
library(car) # Para poder usar el comando recode
## Loading required package: carData
lapop$b37r <- recode(lapop$b37, "1:4=0 ; 5:7=100")
table(lapop$b37r)
##
## 0 100
## 17487 17568
Al momento de leer la base de datos en R, este programa importa las variables como numéricas. La variable “pais” se tiene que convertir en una variable de tipo “factor” y se tiene que etiquetar.
lapop$pais = as.factor(lapop$pais)
levels(lapop$pais) <- c("México", "Guatemala", "El Salvador", "Honduras",
"Nicaragua","Costa Rica", "Panamá", "Colombia",
"Ecuador", "Bolivia", "Perú", "Paraguay",
"Chile", "Uruguay", "Brasil", "Venezuela",
"Argentina", "Rep. Dom.", "Haití", "Jamaica",
"Estados Unidos", "Canada")
levels(lapop$pais)
## [1] "México" "Guatemala" "El Salvador" "Honduras"
## [5] "Nicaragua" "Costa Rica" "Panamá" "Colombia"
## [9] "Ecuador" "Bolivia" "Perú" "Paraguay"
## [13] "Chile" "Uruguay" "Brasil" "Venezuela"
## [17] "Argentina" "Rep. Dom." "Haití" "Jamaica"
## [21] "Estados Unidos" "Canada"
table(lapop$pais)
##
## México Guatemala El Salvador Honduras Nicaragua
## 1563 1546 1551 1560 1560
## Costa Rica Panamá Colombia Ecuador Bolivia
## 1514 1521 1563 1545 1691
## Perú Paraguay Chile Uruguay Brasil
## 2647 1528 1625 1514 1532
## Venezuela Argentina Rep. Dom. Haití Jamaica
## 1558 1528 1518 2221 1515
## Estados Unidos Canada
## 1500 1511
table(lapop$pais, lapop$year)
##
## 2016 2017
## México 1563 0
## Guatemala 0 1546
## El Salvador 1551 0
## Honduras 1560 0
## Nicaragua 1560 0
## Costa Rica 1514 0
## Panamá 0 1521
## Colombia 1563 0
## Ecuador 1545 0
## Bolivia 0 1691
## Perú 0 2647
## Paraguay 1528 0
## Chile 0 1625
## Uruguay 0 1514
## Brasil 0 1532
## Venezuela 1558 0
## Argentina 0 1528
## Rep. Dom. 1518 0
## Haití 0 2221
## Jamaica 0 1515
## Estados Unidos 0 1500
## Canada 0 1511
Estos datos, sin embargo, no toman en cuenta el efecto del diseño muestral. En este análisis se asume que todos los países tienen el mismo peso, a pesar que cada país tenga un tamaño de muestra diferente. LAPOP incluye en sus bases de datos una variable que es un factor de ponderación (“weight1500”), que fija un tamaño de muestra de 1,500 casos como peso de cada país. Para tomar en cuenta esta ponderación se puede usar, por ejemplo, el siguiente código para ver el tamaño de muestra ponderada por país:
crosstab(lapop$pais, lapop$year, weight=lapop$weight1500, plot=F)
## Cell Contents
## |-------------------------|
## | Count |
## |-------------------------|
##
## =======================================
## lapop$year
## lapop$pais 2016 2017 Total
## ---------------------------------------
## México 1500 0 1500
## ---------------------------------------
## Guatemala 0 1500 1500
## ---------------------------------------
## El Salvador 1500 0 1500
## ---------------------------------------
## Honduras 1500 0 1500
## ---------------------------------------
## Nicaragua 1500 0 1500
## ---------------------------------------
## Costa Rica 1500 0 1500
## ---------------------------------------
## Panamá 0 1500 1500
## ---------------------------------------
## Colombia 1500 0 1500
## ---------------------------------------
## Ecuador 1500 0 1500
## ---------------------------------------
## Bolivia 0 1500 1500
## ---------------------------------------
## Perú 0 1500 1500
## ---------------------------------------
## Paraguay 1500 0 1500
## ---------------------------------------
## Chile 0 1500 1500
## ---------------------------------------
## Uruguay 0 1500 1500
## ---------------------------------------
## Brasil 0 1500 1500
## ---------------------------------------
## Venezuela 1500 0 1500
## ---------------------------------------
## Argentina 0 1500 1500
## ---------------------------------------
## Rep. Dom. 1500 0 1500
## ---------------------------------------
## Haití 0 1500 1500
## ---------------------------------------
## Jamaica 0 1500 1500
## ---------------------------------------
## Estados Unidos 0 1500 1500
## ---------------------------------------
## Canada 0 1500 1500
## ---------------------------------------
## Total 1.5e+04 1.8e+04 3.3e+04
## =======================================
Sin tomar en cuenta el efecto de diseño
Para reproducir el gráfico 1 sin tomar en cuenta el efecto de diseño, se calculan los datos de % e intervalos de confianza de la variable b37r por cada país y se guarda en un objeto “df”
df <- summarySE(data=lapop, measurevar="b37r", groupvar="pais", na.rm=T)
Con estos datos, se construye el gráfico 1 con el siguiente código. Tenemos que tomar en cuenta que en algunos países los % no son similares porque este código no incluye las ponderaciones muestrales.
graf1 <- ggplot(df, aes(x=reorder(pais, b37r), y=b37r)) +
geom_bar(width=0.5, fill="purple", colour="black", stat="identity") +
geom_errorbar(aes(ymin=b37r-ci, ymax=b37r+ci), width= 0.2) +
geom_text(aes(label=paste(round(b37r, 1), "%")), hjust=-0.8, size=2) +
xlab("") +
ylab("Confianza en los medios de comunicación (%)") +
coord_flip()
graf1
Para tomar en cuenta el efecto de diseño
Para reproducir el gráfico 1, tomando en cuenta el diseño muestral se tiene que seguir el siguiente código para la creación de un objeto con los datos ponderados. Este código permite incluir la variable “weight1500”.
tab.b37r <- as.data.frame(compmeans(lapop$b37r, lapop$pais, lapop$weight1500, plot=FALSE))
## Warning in compmeans(lapop$b37r, lapop$pais, lapop$weight1500, plot = FALSE):
## 756 rows with missing values dropped
tab.b37r
## Mean N Std. Dev.
## México 40.81365 1463 49.16568
## Guatemala 58.39947 1467 49.30625
## El Salvador 51.81582 1491 49.98378
## Honduras 57.71725 1483 49.41752
## Nicaragua 68.96552 1478 46.27914
## Costa Rica 62.51664 1488 48.42426
## Panamá 59.97349 1488 49.01167
## Colombia 35.76973 1484 47.94840
## Ecuador 55.37353 1482 49.72720
## Bolivia 52.14761 1466 49.97090
## Perú 41.00866 1493 49.20139
## Paraguay 63.58149 1464 48.13654
## Chile 44.92574 1492 49.75853
## Uruguay 50.30020 1485 50.01594
## Brasil 51.13239 1491 50.00394
## Venezuela 51.79387 1476 49.98475
## Argentina 41.71088 1480 49.32478
## Rep. Dom. 67.95470 1483 46.68081
## Haití 39.48932 1370 48.90062
## Jamaica 37.92581 1308 48.53880
## Estados Unidos 29.76783 1496 45.73902
## Canada 43.72953 1500 49.62180
## Total 50.39250 32328 49.99923
Luego, este dataframe se tiene que adecuar para poder producir el gráfico. Se cambia el nombre de las columnas y se agregan los datos de “pais”, “error estándar” e “intervalo de confianza”. También se elimina la fila 23 “Total” que produce el código anterior.
varnames <- c("media", "n", "sd")
colnames(tab.b37r) <- varnames
tab.b37r$pais <- row.names(tab.b37r)
tab.b37r$err.st <- tab.b37r$sd/sqrt(tab.b37r$n)
tab.b37r$ci <- tab.b37r$err.st*1.96
tab.b37r <- tab.b37r[-23, ]
tab.b37r
## media n sd pais err.st ci
## México 40.81365 1463 49.16568 México 1.285405 2.519393
## Guatemala 58.39947 1467 49.30625 Guatemala 1.287321 2.523149
## El Salvador 51.81582 1491 49.98378 El Salvador 1.294465 2.537151
## Honduras 57.71725 1483 49.41752 Honduras 1.283247 2.515165
## Nicaragua 68.96552 1478 46.27914 Nicaragua 1.203782 2.359414
## Costa Rica 62.51664 1488 48.42426 Costa Rica 1.255341 2.460468
## Panamá 59.97349 1488 49.01167 Panamá 1.270568 2.490314
## Colombia 35.76973 1484 47.94840 Colombia 1.244678 2.439570
## Ecuador 55.37353 1482 49.72720 Ecuador 1.291724 2.531780
## Bolivia 52.14761 1466 49.97090 Bolivia 1.305119 2.558034
## Perú 41.00866 1493 49.20139 Perú 1.273349 2.495764
## Paraguay 63.58149 1464 48.13654 Paraguay 1.258069 2.465814
## Chile 44.92574 1492 49.75853 Chile 1.288200 2.524871
## Uruguay 50.30020 1485 50.01594 Uruguay 1.297912 2.543907
## Brasil 51.13239 1491 50.00394 Brasil 1.294987 2.538175
## Venezuela 51.79387 1476 49.98475 Venezuela 1.301051 2.550060
## Argentina 41.71088 1480 49.32478 Argentina 1.282137 2.512988
## Rep. Dom. 67.95470 1483 46.68081 Rep. Dom. 1.212182 2.375877
## Haití 39.48932 1370 48.90062 Haití 1.321156 2.589466
## Jamaica 37.92581 1308 48.53880 Jamaica 1.342101 2.630518
## Estados Unidos 29.76783 1496 45.73902 Estados Unidos 1.182554 2.317806
## Canada 43.72953 1500 49.62180 Canada 1.281229 2.511209
Con este dataframe se puede producir el gráfico con los datos ponderados.
graf142_1 <- ggplot(tab.b37r, aes(x=reorder(pais, media), y=media)) +
geom_bar(width=0.5, fill="purple", colour="black", stat="identity")+
geom_errorbar(aes(ymin=media-ci, ymax=media+ci), width=0.2)+
geom_text(aes(label=paste(round(media, 1), "%")), hjust=-0.8, size=2)+
xlab("") + ylab("Confianza en los medios de comunicación (%)")+
coord_flip()
graf142_1
La autora indica que para el gráfico 2 va a usar un modelo de regresión de mínimos cuadrados ordinarios (OLS), usando seis características demográficas y socioeconómicas como predictores de la confianza reportada en los medios de comunicación
Para repreducir el segundo gráfico se tiene que recodificar las variables independientes para que varíen entre 0 y 1.
lapop$edrr <- lapop$edr/3
lapop$size <- (5-lapop$tamano)/4
lapop$edadr <- (lapop$edad -1)/5
lapop$tono <- (lapop$colorr-1)/10
lapop$nse <- (lapop$quintall-1)/4
Luego de recodificar las variables, se tiene que correr el modelo usando como variable dependiente b37 y las variables recodificadas como variables independientes. Para la creación de este gráfico, también se tiene que tomar en cuenta la ponderación. Para esto usamos la libreria “survey” y guardamos las características del diseño en un objeto “lapop.design”.
library(survey) # Para poder definir las características del diseño muestral
## Loading required package: grid
## Loading required package: Matrix
## Loading required package: survival
##
## Attaching package: 'survey'
## The following object is masked from 'package:graphics':
##
## dotchart
lapop.design<-svydesign(ids =~upm, strata =~ estratopri, weights = ~weight1500, nest=TRUE, data=lapop)
El modelo de regresión incluye variables dummy por país, aunque no se mostrarán en el gráfico. Para calcular los coeficientes tomando en cuenta el diseño muestral, se usa el comando “svyglm”. Se guardan los resultados en un objeto “modelo142_1”.
modelo142_1 <- svyglm(b37 ~ mujer + edrr + size +
edadr + tono + nse + factor(pais), design=lapop.design)
modelo142_1
## Stratified 1 - level Cluster Sampling design (with replacement)
## With (1640) clusters.
## svydesign(ids = ~upm, strata = ~estratopri, weights = ~weight1500,
## nest = TRUE, data = lapop)
##
## Call: svyglm(formula = b37 ~ mujer + edrr + size + edadr + tono + nse +
## factor(pais), design = lapop.design)
##
## Coefficients:
## (Intercept) mujer edrr
## 4.51300 0.15314 -0.72534
## size edadr tono
## -0.25415 0.04773 0.16804
## nse factor(pais)Guatemala factor(pais)El Salvador
## -0.22429 0.65679 0.42794
## factor(pais)Honduras factor(pais)Nicaragua factor(pais)Costa Rica
## 0.59724 1.11074 0.84112
## factor(pais)Panamá factor(pais)Colombia factor(pais)Ecuador
## 0.79051 -0.14519 0.76325
## factor(pais)Bolivia factor(pais)Perú factor(pais)Paraguay
## 0.60803 0.23859 0.87424
## factor(pais)Chile factor(pais)Uruguay factor(pais)Brasil
## 0.29237 0.49288 0.47083
## factor(pais)Venezuela factor(pais)Argentina factor(pais)Rep. Dom.
## 0.60390 0.08247 1.08458
## factor(pais)Haití factor(pais)Jamaica
## -0.25088 -0.06650
##
## Degrees of Freedom: 30917 Total (i.e. Null); 1506 Residual
## (4893 observations deleted due to missingness)
## Null Deviance: 104200
## Residual Deviance: 96890 AIC: 124600
Para visualizar mejor los resultados, podemos usar el siguiente código:
library(jtools) # Para poder usar el comando siguiente
export_summs(modelo142_1)
## Registered S3 methods overwritten by 'broom':
## method from
## tidy.glht jtools
## tidy.summary.glht jtools
| Model 1 | |
|---|---|
| (Intercept) | 4.51 *** |
| (0.08) | |
| mujer | 0.15 *** |
| (0.02) | |
| edrr | -0.73 *** |
| (0.05) | |
| size | -0.25 *** |
| (0.03) | |
| edadr | 0.05 |
| (0.04) | |
| tono | 0.17 * |
| (0.07) | |
| nse | -0.22 *** |
| (0.03) | |
| factor(pais)Guatemala | 0.66 *** |
| (0.08) | |
| factor(pais)El Salvador | 0.43 *** |
| (0.07) | |
| factor(pais)Honduras | 0.60 *** |
| (0.08) | |
| factor(pais)Nicaragua | 1.11 *** |
| (0.07) | |
| factor(pais)Costa Rica | 0.84 *** |
| (0.08) | |
| factor(pais)Panamá | 0.79 *** |
| (0.08) | |
| factor(pais)Colombia | -0.15 |
| (0.08) | |
| factor(pais)Ecuador | 0.76 *** |
| (0.08) | |
| factor(pais)Bolivia | 0.61 *** |
| (0.07) | |
| factor(pais)Perú | 0.24 ** |
| (0.07) | |
| factor(pais)Paraguay | 0.87 *** |
| (0.07) | |
| factor(pais)Chile | 0.29 *** |
| (0.08) | |
| factor(pais)Uruguay | 0.49 *** |
| (0.08) | |
| factor(pais)Brasil | 0.47 *** |
| (0.08) | |
| factor(pais)Venezuela | 0.60 *** |
| (0.08) | |
| factor(pais)Argentina | 0.08 |
| (0.08) | |
| factor(pais)Rep. Dom. | 1.08 *** |
| (0.08) | |
| factor(pais)Haití | -0.25 ** |
| (0.08) | |
| factor(pais)Jamaica | -0.07 |
| (0.08) | |
| N | 30918 |
| R2 | 0.07 |
| *** p < 0.001; ** p < 0.01; * p < 0.05. | |
plot_summs(modelo142_1, coefs=c("Mujer" = "mujer",
"Nivel de educación" = "edrr",
"Tamaño del lugar" = "size",
"Cohortes de edad" = "edadr",
"Tono de piel más oscuro" = "tono",
"Nivel de riqueza" = "nse"))
Como indica la autora: “El Gráfico 3 incorpora al modelo la confianza interpersonal, asistencia a los servicios religiosos, la atención que le prestan a las noticias, uso de internet, interés en política, identificación con un partido político, satisfacción con la democracia, y el voto en las elecciones presidenciales más recientes. De forma similar al Gráfico 2, los efectos estimados que aparecen en el Gráfico 3 son calculados con un modelo de regresión de mínimos cuadrados”.
Para reproducir el gráfico 3, primero se tienen que recodificar las variables independientes.
lapop$it1r <- (4 - lapop$it1) / 3
lapop$q5a01 <- recode(lapop$q5a, "1:4=1; 5=0")
lapop$satisdem <- (4 - lapop$pn4) / 3
lapop$useinternet <- (5 - lapop$www1) / 4
lapop$newsattn <- (5 - lapop$gi0) / 4
lapop$polinterest <- (4 - lapop$pol1) / 3
lapop$idpty <- recode(lapop$vb10, "1=1; 2=0")
lapop$voted <- recode(lapop$vb2, "1=1; 2=0")
Se crea una variable “votewinner” que recodifica a aquellos que votaron al candidato ganador de la última elección presidencial en cada país. Esta variable se reconstruye recodificando la variable vb3n_16, que recoge el voto reportado por cada entrevistado en cada país.
lapop$votewinner <- NA
lapop <- within(lapop, {
votewinner[vb2==2] <- 0
votewinner[vb3n_16==0] <- 0
votewinner[vb3n_16==97] <- 0
votewinner[vb3n_16==102] <- 0
votewinner[vb3n_16==103] <- 0
votewinner[vb3n_16==104] <- 0
votewinner[vb3n_16==177] <- 0
votewinner[vb3n_16==202] <- 0
votewinner[vb3n_16==203] <- 0
votewinner[vb3n_16==204] <- 0
votewinner[vb3n_16==205] <- 0
votewinner[vb3n_16==206] <- 0
votewinner[vb3n_16==207] <- 0
votewinner[vb3n_16==208] <- 0
votewinner[vb3n_16==209] <- 0
votewinner[vb3n_16==210] <- 0
votewinner[vb3n_16==211] <- 0
votewinner[vb3n_16==212] <- 0
votewinner[vb3n_16==213] <- 0
votewinner[vb3n_16==214] <- 0
votewinner[vb3n_16==277] <- 0
votewinner[vb3n_16==301] <- 0
votewinner[vb3n_16==303] <- 0
votewinner[vb3n_16==377] <- 0
votewinner[vb3n_16==402] <- 0
votewinner[vb3n_16==403] <- 0
votewinner[vb3n_16==404] <- 0
votewinner[vb3n_16==407] <- 0
votewinner[vb3n_16==408] <- 0
votewinner[vb3n_16==477] <- 0
votewinner[vb3n_16==501] <- 0
votewinner[vb3n_16==503] <- 0
votewinner[vb3n_16==504] <- 0
votewinner[vb3n_16==505] <- 0
votewinner[vb3n_16==577] <- 0
votewinner[vb3n_16==601] <- 0
votewinner[vb3n_16==602] <- 0
votewinner[vb3n_16==604] <- 0
votewinner[vb3n_16==605] <- 0
votewinner[vb3n_16==677] <- 0
votewinner[vb3n_16==702] <- 0
votewinner[vb3n_16==703] <- 0
votewinner[vb3n_16==777] <- 0
votewinner[vb3n_16==801] <- 0
votewinner[vb3n_16==802] <- 0
votewinner[vb3n_16==803] <- 0
votewinner[vb3n_16==805] <- 0
votewinner[vb3n_16==877] <- 0
votewinner[vb3n_16==902] <- 0
votewinner[vb3n_16==903] <- 0
votewinner[vb3n_16==904] <- 0
votewinner[vb3n_16==905] <- 0
votewinner[vb3n_16==906] <- 0
votewinner[vb3n_16==908] <- 0
votewinner[vb3n_16==977] <- 0
votewinner[vb3n_16==1002] <- 0
votewinner[vb3n_16==1003] <- 0
votewinner[vb3n_16==1004] <- 0
votewinner[vb3n_16==1005] <- 0
votewinner[vb3n_16==1077] <- 0
votewinner[vb3n_16==1102] <- 0
votewinner[vb3n_16==1103] <- 0
votewinner[vb3n_16==1104] <- 0
votewinner[vb3n_16==1105] <- 0
votewinner[vb3n_16==1106] <- 0
votewinner[vb3n_16==1107] <- 0
votewinner[vb3n_16==1108] <- 0
votewinner[vb3n_16==1177] <- 0
votewinner[vb3n_16==1202] <- 0
votewinner[vb3n_16==1203] <- 0
votewinner[vb3n_16==1204] <- 0
votewinner[vb3n_16==1205] <- 0
votewinner[vb3n_16==1206] <- 0
votewinner[vb3n_16==1277] <- 0
votewinner[vb3n_16==1303] <- 0
votewinner[vb3n_16==1306] <- 0
votewinner[vb3n_16==1307] <- 0
votewinner[vb3n_16==1309] <- 0
votewinner[vb3n_16==1310] <- 0
votewinner[vb3n_16==1311] <- 0
votewinner[vb3n_16==1377] <- 0
votewinner[vb3n_16==1402] <- 0
votewinner[vb3n_16==1403] <- 0
votewinner[vb3n_16==1404] <- 0
votewinner[vb3n_16==1405] <- 0
votewinner[vb3n_16==1406] <- 0
votewinner[vb3n_16==1477] <- 0
votewinner[vb3n_16==1502] <- 0
votewinner[vb3n_16==1503] <- 0
votewinner[vb3n_16==1577] <- 0
votewinner[vb3n_16==1602] <- 0
votewinner[vb3n_16==1604] <- 0
votewinner[vb3n_16==1605] <- 0
votewinner[vb3n_16==1677] <- 0
votewinner[vb3n_16==1702] <- 0
votewinner[vb3n_16==1703] <- 0
votewinner[vb3n_16==1704] <- 0
votewinner[vb3n_16==1705] <- 0
votewinner[vb3n_16==1777] <- 0
votewinner[vb3n_16==2102] <- 0
votewinner[vb3n_16==2103] <- 0
votewinner[vb3n_16==2177] <- 0
votewinner[vb3n_16==2202] <- 0
votewinner[vb3n_16==2203] <- 0
votewinner[vb3n_16==2204] <- 0
votewinner[vb3n_16==2205] <- 0
votewinner[vb3n_16==2206] <- 0
votewinner[vb3n_16==2277] <- 0
votewinner[vb3n_16==2301] <- 0
votewinner[vb3n_16==2377] <- 0
votewinner[vb3n_16==2402] <- 0
votewinner[vb3n_16==2477] <- 0
votewinner[vb3n_16==4001] <- 0
votewinner[vb3n_16==4003] <- 0
votewinner[vb3n_16==4004] <- 0
votewinner[vb3n_16==4077] <- 0
votewinner[vb3n_16==1701] <- 1
votewinner[vb3n_16==1001] <- 1
votewinner[vb3n_16==1501] <- 1
votewinner[vb3n_16==1305] <- 1
votewinner[vb3n_16==804] <- 1
votewinner[vb3n_16==603] <- 1
votewinner[vb3n_16==2101] <- 1
votewinner[vb3n_16==901] <- 1
votewinner[vb3n_16==302] <- 1
votewinner[vb3n_16==201] <- 1
votewinner[vb3n_16==2401] <- 1
votewinner[vb3n_16==2201] <- 1
votewinner[vb3n_16==401] <- 1
votewinner[vb3n_16==2302] <- 1
votewinner[vb3n_16==101] <- 1
votewinner[vb3n_16==502] <- 1
votewinner[vb3n_16==701] <- 1
votewinner[vb3n_16==1201] <- 1
votewinner[vb3n_16==1101] <- 1
votewinner[vb3n_16==4002] <- 1
votewinner[vb3n_16==1401] <- 1
votewinner[vb3n_16==1601] <- 1
})
table(lapop$votewinner)
##
## 0 1
## 17836 11024
Se tiene que volver a calcular el efecto de diseño muestral para que incluya a estas variables recodificadas.
lapop.design<-svydesign(ids =~upm, strata =~ estratopri, weights = ~weight1500, nest=TRUE, data=lapop)
Luego de la recodificación, se corre el modelo y se guardan los resultados en el objeto “modelo42_2”.
modelo142_2 <- svyglm(b37 ~ it1r + q5a01 + newsattn + useinternet +
polinterest + idpty + satisdem + votewinner +
tono + edrr + edadr + size + nse + mujer +
factor(pais), design=lapop.design)
modelo142_2
## Stratified 1 - level Cluster Sampling design (with replacement)
## With (1640) clusters.
## svydesign(ids = ~upm, strata = ~estratopri, weights = ~weight1500,
## nest = TRUE, data = lapop)
##
## Call: svyglm(formula = b37 ~ it1r + q5a01 + newsattn + useinternet +
## polinterest + idpty + satisdem + votewinner + tono + edrr +
## edadr + size + nse + mujer + factor(pais), design = lapop.design)
##
## Coefficients:
## (Intercept) it1r q5a01
## 3.62974 0.30689 0.21534
## newsattn useinternet polinterest
## 0.67399 -0.27496 0.01232
## idpty satisdem votewinner
## 0.05061 0.75676 0.06423
## tono edrr edadr
## 0.10872 -0.70411 -0.29220
## size nse mujer
## -0.18041 -0.23195 0.16502
## factor(pais)Guatemala factor(pais)El Salvador factor(pais)Honduras
## 0.54078 0.23532 0.43613
## factor(pais)Nicaragua factor(pais)Costa Rica factor(pais)Panamá
## 0.85157 0.69868 0.69259
## factor(pais)Colombia factor(pais)Ecuador factor(pais)Bolivia
## -0.23244 0.55200 0.44029
## factor(pais)Perú factor(pais)Paraguay factor(pais)Chile
## 0.16533 0.73078 0.25738
## factor(pais)Uruguay factor(pais)Brasil factor(pais)Venezuela
## 0.28872 0.48553 0.59085
## factor(pais)Argentina factor(pais)Rep. Dom. factor(pais)Haití
## 0.01594 0.95094 -0.08342
## factor(pais)Jamaica
## -0.15465
##
## Degrees of Freedom: 24166 Total (i.e. Null); 1498 Residual
## (11644 observations deleted due to missingness)
## Null Deviance: 81070
## Residual Deviance: 72610 AIC: 96540
Para visualizar mejor los resultados, podemos usar el siguiente código. Incluso se puede comparar ambos modelos:
export_summs(modelo142_1, modelo142_2)
| Model 1 | Model 2 | |
|---|---|---|
| (Intercept) | 4.51 *** | 3.63 *** |
| (0.08) | (0.09) | |
| mujer | 0.15 *** | 0.17 *** |
| (0.02) | (0.02) | |
| edrr | -0.73 *** | -0.70 *** |
| (0.05) | (0.06) | |
| size | -0.25 *** | -0.18 *** |
| (0.03) | (0.03) | |
| edadr | 0.05 | -0.29 *** |
| (0.04) | (0.05) | |
| tono | 0.17 * | 0.11 |
| (0.07) | (0.08) | |
| nse | -0.22 *** | -0.23 *** |
| (0.03) | (0.04) | |
| factor(pais)Guatemala | 0.66 *** | 0.54 *** |
| (0.08) | (0.08) | |
| factor(pais)El Salvador | 0.43 *** | 0.24 ** |
| (0.07) | (0.08) | |
| factor(pais)Honduras | 0.60 *** | 0.44 *** |
| (0.08) | (0.09) | |
| factor(pais)Nicaragua | 1.11 *** | 0.85 *** |
| (0.07) | (0.08) | |
| factor(pais)Costa Rica | 0.84 *** | 0.70 *** |
| (0.08) | (0.09) | |
| factor(pais)Panamá | 0.79 *** | 0.69 *** |
| (0.08) | (0.08) | |
| factor(pais)Colombia | -0.15 | -0.23 ** |
| (0.08) | (0.08) | |
| factor(pais)Ecuador | 0.76 *** | 0.55 *** |
| (0.08) | (0.09) | |
| factor(pais)Bolivia | 0.61 *** | 0.44 *** |
| (0.07) | (0.08) | |
| factor(pais)Perú | 0.24 ** | 0.17 * |
| (0.07) | (0.08) | |
| factor(pais)Paraguay | 0.87 *** | 0.73 *** |
| (0.07) | (0.08) | |
| factor(pais)Chile | 0.29 *** | 0.26 ** |
| (0.08) | (0.09) | |
| factor(pais)Uruguay | 0.49 *** | 0.29 *** |
| (0.08) | (0.09) | |
| factor(pais)Brasil | 0.47 *** | 0.49 *** |
| (0.08) | (0.09) | |
| factor(pais)Venezuela | 0.60 *** | 0.59 *** |
| (0.08) | (0.09) | |
| factor(pais)Argentina | 0.08 | 0.02 |
| (0.08) | (0.09) | |
| factor(pais)Rep. Dom. | 1.08 *** | 0.95 *** |
| (0.08) | (0.08) | |
| factor(pais)Haití | -0.25 ** | -0.08 |
| (0.08) | (0.09) | |
| factor(pais)Jamaica | -0.07 | -0.15 |
| (0.08) | (0.09) | |
| it1r | 0.31 *** | |
| (0.04) | ||
| q5a01 | 0.22 *** | |
| (0.03) | ||
| newsattn | 0.67 *** | |
| (0.05) | ||
| useinternet | -0.27 *** | |
| (0.04) | ||
| polinterest | 0.01 | |
| (0.04) | ||
| idpty | 0.05 | |
| (0.03) | ||
| satisdem | 0.76 *** | |
| (0.05) | ||
| votewinner | 0.06 * | |
| (0.03) | ||
| N | 30918 | 24167 |
| R2 | 0.07 | 0.10 |
| *** p < 0.001; ** p < 0.01; * p < 0.05. | ||
plot_summs(modelo142_2, coefs=c("Confianza interpersonal" = "it1r",
"Asiste servicios religiosos" = "q5a01",
"Presta atención a las noticias" = "newsattn",
"Usa internet diariamente" = "useinternet",
"Interés en política" = "polinterest",
"Se identifica con un partido" = "idpty",
"Satisfacción con la democracia" = "satisdem",
"Votó por el ganador" = "votewinner"))
De esta manera se han replicado los gráficos presentados en este reporte 142 de la Serie Perspectivas usando los datos del Barómetro de las Américas por LAPOP.