Comparación de encuestas del Congreso

En 2022 se realizaron una serie de encuestas a congresistas de la Cámara y el Senado. Acá los resultados.

Librerías

Librerías de código necesarias para el análisis de datos:

library(readxl)
library(tidyverse)
## Warning: package 'tidyverse' was built under R version 4.2.3
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.0     ✔ readr     2.1.4
## ✔ forcats   1.0.0     ✔ stringr   1.5.0
## ✔ ggplot2   3.4.1     ✔ tibble    3.1.8
## ✔ lubridate 1.9.2     ✔ tidyr     1.3.0
## ✔ purrr     1.0.1     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the ]8;;http://conflicted.r-lib.org/conflicted package]8;; to force all conflicts to become errors
library(writexl)
## Warning: package 'writexl' was built under R version 4.2.3

Importar resultados

Se importa la base de datos de excel con los resultados de la encuesta.

IADB_2022 <- read_excel("IADB 2022. Encuesta a Legisladores de Colombia.xlsx")

No todas las variables son relevantes para hacer una comparación estadística de promedios significativos entre la Cámara y el Senado, por lo que ahora filtramos solo las variables necesarias.

El diccionario es el siguiente:

  • Variables descriptivas -

chamber <- Cámara

INF3G <- Declaratoria del Estatuto de Oposición

  • Estado de la Democracia, escala de Likert 1 al 5 -

DEM11 <- Elecciones transparentes y confiables DEM13 <- Participación sin riesgos de seguridad

DEM14 <- Democracia mejora calidad de vida

  • Ejercicio de la representación, escala del 1 al 7 -

REP41 <- Representar los intereses del país (1) vs. de su departamento (7)

REP42 <- Trabajar con legisladores de su partido (1) vs. de su región (7)

  • Ejercicio en comisiones, escala del 1 al 7 -

COM12 <- Deben tener más autoridad los legisladores con más experiencia (1) vs. legisladores con más votos (7)

COM13 <- Deben tener más autoridad hombres y mujeres por igual (1) vs. legisladores con más votos (7)

COM2 <- Comisión con más capacidad técnica (1-7)

  • Preguntas de confianza, escala del 1 al 7 -

TRS1N <- Se debe ser muy cuidadoso con otros legisladores (1) vs. se puede confiar en la mayoría (7)

TRS504 <- Qué tanto confía en la información de los legisladores de su comisión (1 a 4)

TRS3A05 <- Que ranta confianza le tiene al Presidente (1 a 4)

  • Partidos políticos, escala del 1 al 7 -

PP1N <- La ciudadanía se identifica con líderes políticos (1) vs. con partidos políticos

PP23 <- Dedica más tiempo a visitar lugares donde tuvo una buena elección (1) vs. donde no hizo campaña antes (7)

  • Política electoral, escala Likert 1 al 5 -

ELE12 <- Más espacio al candidato y menos al partido en el tarjetón

ELE13 <- Listas abiertas en el tarjetón

  • Preguntas sobre ideología, escala Likert 1 al 7 -

ID42 <- Estado, más que sector privado, como proovedor de salud

ID43 <- Estado para reducir desigualdad de género

ID44 <- Estado para reducir desigualdad económica

ID51 <- Derecho a matrimonio igualitario

ID52 <- Legalización de la marihuana

ID53 <- Legalización del aborto

ID54 <- Pena de muerte

ID1 <- Se considera de izquierda o derecha

  • Experiencia previa, escala del 1 al 6 -

TRY3N <- Períodos como congresista

TRY4A01 <- Períodos como gobernador/a

TRY4A02 <- Períodos como alcalde/sa

TRY4A03 <- Períodos como diputado/a

TRY4A04 <- Períodos como concejal/a

IADB_filter <- IADB_2022 %>% select(chamber, INF3G, DEM11, DEM13, DEM14, REP41, REP42, COM12, COM13, COM2, TRS1N, TRS504, TRS3A05, TRS503, PP1N, PP21, ELE12, ELE13, ID42, ID43, ID44, ID51, ID52, ID53, ID54, ID1, TRY3N, TRY4A01, TRY4A02, TRY4A03, TRY4A04)

Finalmente, se reemplazan las respuestas enquivalentes a “No sabe” y “No responde” para no afectar los promedios.

IADB_filter <- IADB_filter %>%
  mutate(across(everything(), ~replace(., . %in% c(888888, 988888), NA)))

Promedios por cámara y respuesta

Ahora se deben agrupar las respuestas según la cámara del representante, es decir 'chamber == "HOUSE"' o chamber == "SENATE". Luego se calcula el promedio en cada cámara de las distintas respuestas y se evalua la significancia de la diferencia entre las respuestas con una prueba T.

Para calcular los promedios, se utiliza gourp_by() para dividir según Cámara o Senado y sumarise() para crear nuevas variables con los promedios de cada encuesta, para evitar la repetición se pueden utilizar las abreviaciones de cada categoría. Se eliminan los NA para no afectar el promedio.

# Agrupar por cámara y calcular promedios
IADB_promedios <- IADB_filter %>%
  group_by(chamber) %>%
  summarise(across(starts_with(c("INF", "DEM", "REP", "COM", "TRS", "PP", "ELE", "ID", "TRY")), mean, na.rm = TRUE)) %>%
  pivot_longer(cols = -chamber, names_to = "Pregunta", values_to = "mean") %>%
  pivot_wider(names_from = chamber, values_from = mean, names_prefix = "mean_")
## Warning: There was 1 warning in `summarise()`.
## ℹ In argument: `across(...)`.
## ℹ In group 1: `chamber = "HOUSE"`.
## Caused by warning:
## ! The `...` argument of `across()` is deprecated as of dplyr 1.1.0.
## Supply arguments directly to `.fns` through an anonymous function instead.
## 
##   # Previously
##   across(a:b, mean, na.rm = TRUE)
## 
##   # Now
##   across(a:b, \(x) mean(x, na.rm = TRUE))

A continuación, se realiza la prueba T para estimar la significancia en la diferencia entre los promedios en Cámara de Representantes y Senado. Mientras mayor sea el valor de T, es más significativa la diferencia.

# Realizar la prueba t para cada variable
Prueba_T <- IADB_filter %>%
  pivot_longer(cols = -chamber, names_to = "Pregunta", values_to = "value") %>%
  group_by(Pregunta) %>%
  summarise(Cámara = mean(value[chamber == "HOUSE"], na.rm = TRUE),
            Senado = mean(value[chamber == "SENATE"], na.rm = TRUE),
            Prueba_T = t.test(value ~ chamber)$p.value) %>%
  arrange(desc(Prueba_T))

# Mostrar los resultados
print(IADB_promedios)
## # A tibble: 30 × 3
##    Pregunta mean_HOUSE mean_SENATE
##    <chr>         <dbl>       <dbl>
##  1 INF3G          1.40        1.61
##  2 DEM11          3.52        3.29
##  3 DEM13          2.51        2.52
##  4 DEM14          3.64        3.63
##  5 REP41          4.08        2.27
##  6 REP42          3.55        3.28
##  7 COM12          3.67        3.64
##  8 COM13          2.52        2.61
##  9 COM2           2.41        2.64
## 10 TRS1N          3.29        3.11
## # … with 20 more rows
print(Prueba_T)
## # A tibble: 30 × 4
##    Pregunta Cámara Senado Prueba_T
##    <chr>     <dbl>  <dbl>    <dbl>
##  1 PP1N       2.08   2.08    1    
##  2 TRY4A02    1.32   1.32    0.994
##  3 DEM13      2.51   2.52    0.973
##  4 DEM14      3.64   3.63    0.968
##  5 COM12      3.67   3.64    0.908
##  6 ID53       4.24   4.34    0.773
##  7 COM13      2.52   2.61    0.741
##  8 ID52       4.92   4.77    0.676
##  9 ID42       5.07   5.20    0.640
## 10 ID43       6.49   6.39    0.605
## # … with 20 more rows
Prueba_T <- Prueba_T %>%
  mutate(Escala = c("1-7", "1-6", "1-5", "1-5", "1-7", "1-7", "1-7", "1-7", "1-7", "1-7", "1-7",
                    "1-4", "1-6", "1-7", "1-7", "1-7", "1-6", "1-7", "1-7", "1-7", "1-6", "1-5",
                    "1-5", "1-6", "1-5", "1-4", "1-7", "1-7", "1-5", "1-7"),
         Descripción = c("La ciudadanía se identifica con líderes políticos vs. con partidos políticos",
                         "Períodos como alcalde/sa",
                         "Participación sin riesgos de seguridad",
                         "Democracia mejora calidad de vida",
                         "Deben tener más autoridad los legisladores con más experiencia vs. legisladores con más votos",
                         "Legalización del aborto",
                         "Deben tener más autoridad hombres y mujeres por igual vs. legisladores con más votos",
                         "Legalización de la marihuana",
                         "Estado, más que sector privado, como proveedor de salud",
                         "Estado para reducir desigualdad de género",
                         "Derecho a matrimonio igualitario",
                         "Qué tanto confía en la información de los legisladores de su comisión",
                         "Períodos como congresista",
                         "Se debe ser muy cuidadoso con otros legisladores vs. se puede confiar en la mayoría",
                         "Comisión con más capacidad técnica",
                         "Se considera de izquierda o derecha",
                         "Períodos como gobernador/a",
                         "Dedica más tiempo a visitar lugares donde tuvo una buena elección vs. donde no hizo campaña antes",
                         "Representar los intereses del país vs. de su departamento",
                         "Qué tanta confianza le tiene al Presidente",
                         "Períodos como diputado/a",
                         "Elecciones transparentes y confiables",
                         "Declaratoria del Estatuto de Oposición",
                         "Períodos como concejal/a",
                         "Más espacio al candidato y menos al partido en el tarjetón",
                         "Qué tanta confianza le tiene al Presidente",
                         "Estado para reducir desigualdad económica",
                         "Pena de muerte",
                         "Listas abiertas",
                         "Representar los intereses del país vs. de su departamento"),
         Análisis = ifelse(Prueba_T < 0.05, "Diferencia significativa entre Cámara y Senado.", "No hay diferencia significativa entre Cámara y Senado.")
  )

Exportar tabla de resultados

Por último, se exporta la tabla de Prueba T con los resultados a un archivo excel.

write_xlsx(Prueba_T, "Resultados comparativos crudos.xlsx")