Estadística para el Análisis Político | Semana 2

Marylia Cruz

Motivación

  • Why you should love statistics | Alan Smith

https://www.youtube.com/watch?v=ogeGJS0GEF4

Motivación

“Las estadísticas son el corazón de la democracia”.

Simeón Strunsky

Una variable con diferentes escalas de medición

La variable educación puede ser medida usando diferentes escalas de medición

Nominal: Se clasifica a las personas según (a) tengan educación formal o (b) no tengan educación formal

Ordinal: Se clasifica a las personas según se trata de personas (1) sin educación formal, (2) primaria incompleta, (3) primaria completa, (4) secundaria incompleta, (5) secundaria completa, (6) superior incompleta, o (7) superior completa

Intervalar o numérica: Se le pregunta a la persona cuántos años de educación formal ha completado

Pirámide de transformación de variables

Escala de medición (1)

  • La escala de medición de una variable dice mucho sobre el tipo o la naturaleza de información que registra o contiene una variable

  • Para describir de manera adecuada ese tipo o naturaleza de información se requiere seleccionar el o los métodos estadísticos de análisis apropiados para esa información.

Escala de medición (2)

  • El nivel de medición de una variable determina cuál es la técnica más apropiada para describir y analizar una variable

  • Cuanto más preciso sea el nivel de medición, mucha más información estará contenida en su descripción y análisis, y por lo tanto muchas más opciones se tendrá al momento de seleccionar las herramientas de análisis estadístico

Tabla de frecuencias

Es una tabla que muestra la distribución de los datos mediante sus frecuencias (conteo). Se utiliza para variables cualitativas y cuantitativas.

Distribución de una variable

La distribución de una variable nos dice qué categorías o valores contiene esa variable y cómo se distribuyen los sujetos o individuos de una población o muestra a lo largo de esas categorías o valores (cuál es la frecuencia de esa distribución)

Entonces, todas las variables (independientemente de su escala de medición) poseen una distribución

Distribución de una variable categórica nominal Distribución de una variable categórica ordinal Distribución de una variable intervalar

Explicación de la base de datos - LAPOP

https://www.vanderbilt.edu/lapop/about-americasbarometer.php

Revisión de la tarea

Revisión del cuestionario del LAPOP 2023

https://www.vanderbilt.edu/lapop/ab2023/AB2023-Core-Questionnaire-V9.3-Eng-230228-W.pdf

Abrimos la base de datos en R Studio

  1. Indicar el directorio de trabajo. En el directorio de trabajo debe estar la base de datos en excel.
setwd("/Volumes/Macintosh HD - Datos/12 PUCP-Docencia/2025/Estadística 1/Presentaciones")
  1. Instalar el paquete rio
install.packages("rio")
library(rio)
  1. Importamos la base de datos de excel. Usamos el comando import
data=import("PER_2023_LAPOP.sav")

Comandos básicos en R Studio

  1. Usamos el comando names para solicitar el nombre de las variables
names(data)
  [1] "idnum"       "pais"        "nationality" "estratopri"  "estratosec" 
  [6] "strata"      "prov"        "municipio"   "perprov"     "upm"        
 [11] "ur"          "cluster"     "year"        "wave"        "wt"         
 [16] "q1tc_r"      "q2"          "a4n"         "soct2"       "idio2"      
 [21] "np1"         "np1new"      "sgl1"        "it1"         "l1n"        
 [26] "prot3"       "jc10"        "jc13"        "jc15a"       "jc16a"      
 [31] "vic1ext"     "aoj11"       "countfair1"  "countfair3"  "chm1bn"     
 [36] "chm2bn"      "cses6n"      "b0"          "b1"          "b2"         
 [41] "b3"          "b4"          "b6"          "b12"         "b13"        
 [46] "b18"         "b21"         "b21a"        "b31"         "b32"        
 [51] "b37"         "b47a"        "m1"          "sd2new2"     "sd3new2"    
 [56] "sd6new2"     "sd5new2"     "pop101"      "pop107"      "ros4"       
 [61] "ing4"        "eff1"        "eff2"        "vb21n"       "crg1"       
 [66] "crg2"        "pr3dnr"      "pr3enr"      "env1caltn"   "env1c"      
 [71] "env2b"       "anestg"      "pn4"         "dem30"       "e5"         
 [76] "e17a"        "e17b"        "d3"          "d4"          "d5"         
 [81] "d6"          "d5newa"      "d7a"         "d5newb"      "d7b"        
 [86] "exc2"        "exc6"        "exc18"       "exc7"        "exc7new"    
 [91] "genor4"      "aojg3n1"     "lib2c"       "immig1xa"    "immig1xb"   
 [96] "immig1xc"    "comcon3xa"   "comcon3xb"   "comcon3xc"   "perven5"    
[101] "vb2"         "vb3n"        "vb10"        "vb11"        "pol1"       
[106] "cv5"         "vb20"        "vb50"        "vb51"        "vb52"       
[111] "vb58"        "vb58exp"     "w14a"        "mil10a"      "mil10b"     
[116] "mil10e"      "ccch1"       "ccch3"       "ccch4"       "ccch6"      
[121] "ccus1"       "ccus3"       "ccus4"       "ccus6"       "ie1n"       
[126] "ie2"         "dis11"       "dis12"       "childm6"     "childm7"    
[131] "childm8"     "childm9"     "childm10"    "childm11"    "childm12"   
[136] "childm13"    "wf1"         "cct1b"       "edre"        "q3cn"       
[141] "q5b"         "ocup4a"      "formal"      "q10inc"      "q10e"       
[146] "q10d"        "q14"         "fs2"         "fs212"       "ws1"        
[151] "ws2"         "q11n"        "q12cn"       "q12bn"       "q12bnf"     
[156] "q12p"        "etid"        "leng1"       "leng4"       "gi0n"       
[161] "smedia1n"    "smedia3n"    "smedia3b"    "smedia11"    "smedia12"   
[166] "smedia13"    "smedia14n"   "smedia15"    "smedia16"    "r3"         
[171] "r4a"         "r6"          "r7"          "r12"         "r15"        
[176] "r18n"        "r18"         "r16"         "r27"         "psc13n_1"   
[181] "psc13n_2"    "psc13n_3"    "psc13n_4"    "psc13n_5"    "psc13n_7"   
[186] "psc13n_11"   "psc13n_12"   "psc13n_13"   "psc13n_77"   "colorr"     
[191] "noise1"      "conocim"     "sexin"       "colori"      "formatq"    
[196] "idiomaq"     "fecha"      

Comandos básicos en R Studio

  1. Usamos el comando str para solicitar la estrura de las variables
str(data)
'data.frame':   1535 obs. of  197 variables:
 $ idnum      : num  2277 9874 2387 2585 3828 ...
  ..- attr(*, "label")= chr "Identificador de entrevista"
  ..- attr(*, "format.spss")= chr "F4.0"
  ..- attr(*, "display_width")= int 7
  ..- attr(*, "labels")= Named num [1:3] 888888 988888 999999
  .. ..- attr(*, "names")= chr [1:3] "DK" "NR" "N/A"
 $ pais       : num  11 11 11 11 11 11 11 11 11 11 ...
  ..- attr(*, "label")= chr "País"
  ..- attr(*, "format.spss")= chr "F2.0"
  ..- attr(*, "display_width")= int 6
  ..- attr(*, "labels")= Named num [1:4] 11 888888 988888 999999
  .. ..- attr(*, "names")= chr [1:4] "Perú" "DK" "NR" "N/A"
 $ nationality: num  11 11 11 11 11 11 11 11 11 11 ...
  ..- attr(*, "label")= chr "Nacionalidad"
  ..- attr(*, "format.spss")= chr "F2.0"
  ..- attr(*, "display_width")= int 13
  ..- attr(*, "labels")= Named num [1:4] 11 888888 988888 999999
  .. ..- attr(*, "names")= chr [1:4] "Peruano/a" "DK" "NR" "N/A"
 $ estratopri : num  1103 1103 1103 1103 1103 ...
  ..- attr(*, "label")= chr "Región"
  ..- attr(*, "format.spss")= chr "F4.0"
  ..- attr(*, "display_width")= int 12
  ..- attr(*, "labels")= Named num [1:10] 1101 1102 1103 1104 1105 ...
  .. ..- attr(*, "names")= chr [1:10] "Costa Norte" "Costa Sur" "Lima Metropolitana" "Selva" ...
 $ estratosec : num  1 1 1 1 1 1 1 1 1 1 ...
  ..- attr(*, "label")= chr "Tamaño de la municipalidad"
  ..- attr(*, "format.spss")= chr "F1.0"
  ..- attr(*, "display_width")= int 12
  ..- attr(*, "labels")= Named num [1:6] 1 2 3 888888 988888 ...
  .. ..- attr(*, "names")= chr [1:6] "Grande (Más de 100,000 habitantes)" "Mediana (Entre 25,000 y 100,000 habitantes)" "Pequeña (Menos de 25,000 habitantes)" "DK" ...
 $ strata     : num  1103 1103 1103 1103 1103 ...
  ..- attr(*, "label")= chr "Peso estandarizado"
  ..- attr(*, "format.spss")= chr "F4.0"
  ..- attr(*, "labels")= Named num [1:3] 888888 988888 999999
  .. ..- attr(*, "names")= chr [1:3] "DK" "NR" "N/A"
 $ prov       : num  1115 1115 1115 1115 1115 ...
  ..- attr(*, "label")= chr "Departamento"
  ..- attr(*, "format.spss")= chr "F4.0"
  ..- attr(*, "display_width")= int 6
  ..- attr(*, "labels")= Named num [1:26] 1101 1102 1103 1104 1105 ...
  .. ..- attr(*, "names")= chr [1:26] "Amazonas" "Áncash" "Apurímac" "Arequipa" ...
 $ municipio  : num  11150101 11150112 11150112 11150112 11150101 ...
  ..- attr(*, "label")= chr "Municipio"
  ..- attr(*, "format.spss")= chr "F8.0"
  ..- attr(*, "display_width")= int 11
  ..- attr(*, "labels")= Named num [1:113] 888888 988888 999999 11010703 11020101 ...
  .. ..- attr(*, "names")= chr [1:113] "DK" "NR" "N/A" "Cumba" ...
 $ perprov    : num  111501 111501 111501 111501 111501 ...
  ..- attr(*, "label")= chr "Provincia"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "display_width")= int 9
  ..- attr(*, "labels")= Named num [1:64] 110107 110201 110212 110218 110301 ...
  .. ..- attr(*, "names")= chr [1:64] "Utcubamba" "Huaraz" "Huaylas" "Santa" ...
 $ upm        : num  80 26 26 26 80 80 26 80 26 80 ...
  ..- attr(*, "label")= chr "Unidad de muestreo primaria"
  ..- attr(*, "format.spss")= chr "F3.0"
  ..- attr(*, "display_width")= int 5
  ..- attr(*, "labels")= Named num [1:3] 888888 988888 999999
  .. ..- attr(*, "names")= chr [1:3] "DK" "NR" "N/A"
 $ ur         : num  1 1 1 1 1 1 1 1 1 1 ...
  ..- attr(*, "label")= chr "Urbanización"
  ..- attr(*, "format.spss")= chr "F1.0"
  ..- attr(*, "display_width")= int 4
  ..- attr(*, "labels")= Named num [1:5] 1 2 888888 988888 999999
  .. ..- attr(*, "names")= chr [1:5] "Urbano" "Rural" "DK" "NR" ...
 $ cluster    : num  227 89 89 89 228 227 89 227 89 227 ...
  ..- attr(*, "label")= chr "Lugar de muestreo"
  ..- attr(*, "format.spss")= chr "F3.0"
  ..- attr(*, "display_width")= int 9
  ..- attr(*, "labels")= Named num [1:3] 888888 988888 999999
  .. ..- attr(*, "names")= chr [1:3] "DK" "NR" "N/A"
 $ year       : num  2023 2023 2023 2023 2023 ...
  ..- attr(*, "label")= chr "Año"
  ..- attr(*, "format.spss")= chr "F4.0"
  ..- attr(*, "display_width")= int 6
  ..- attr(*, "labels")= Named num [1:4] 2023 888888 988888 999999
  .. ..- attr(*, "names")= chr [1:4] "2023" "DK" "NR" "N/A"
 $ wave       : num  2023 2023 2023 2023 2023 ...
  ..- attr(*, "label")= chr "Ronda de encuesta"
  ..- attr(*, "format.spss")= chr "F4.0"
  ..- attr(*, "display_width")= int 6
  ..- attr(*, "labels")= Named num [1:4] 2023 888888 988888 999999
  .. ..- attr(*, "names")= chr [1:4] "2023" "DK" "NR" "N/A"
 $ wt         : num  1 1 1 1 1 1 1 1 1 1 ...
  ..- attr(*, "label")= chr "Peso de la muestra"
  ..- attr(*, "format.spss")= chr "F1.0"
  ..- attr(*, "display_width")= int 4
  ..- attr(*, "labels")= Named num [1:3] 888888 988888 999999
  .. ..- attr(*, "names")= chr [1:3] "DK" "NR" "N/A"
 $ q1tc_r     : num  2 2 2 2 1 1 1 1 1 1 ...
  ..- attr(*, "label")= chr "Género"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "labels")= Named num [1:5] 1 2 888888 988888 999999
  .. ..- attr(*, "names")= chr [1:5] "Hombre/masculino" "Mujer/femenino" "DK" "NR" ...
 $ q2         : num  47 26 55 44 68 27 20 53 71 43 ...
  ..- attr(*, "label")= chr "Edad"
  ..- attr(*, "format.spss")= chr "F2.0"
  ..- attr(*, "display_width")= int 4
  ..- attr(*, "labels")= Named num [1:3] 888888 988888 999999
  .. ..- attr(*, "names")= chr [1:3] "DK" "NR" "N/A"
 $ a4n        : num  2 2 1 5 2 4 77 2 1 1 ...
  ..- attr(*, "label")= chr "Problema más grave (Opinión)"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "labels")= Named num [1:12] 1 2 3 4 5 ...
  .. ..- attr(*, "names")= chr [1:12] "Problemas económicos" "Problemas de seguridad" "Problemas de servicios básicos" "Problemas políticos" ...
 $ soct2      : num  3 3 3 3 2 1 2 3 3 3 ...
  ..- attr(*, "label")= chr "Evaluación de la situación económica actual del país (En los últimos 12 meses)"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "labels")= Named num [1:6] 1 2 3 888888 988888 ...
  .. ..- attr(*, "names")= chr [1:6] "Mejor" "Igual" "Peor" "DK" ...
 $ idio2      : num  3 2 3 2 3 2 2 3 3 3 ...
  ..- attr(*, "label")= chr "Percepción de situación económica personal (En los últimos 12 meses)"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "labels")= Named num [1:6] 1 2 3 888888 988888 ...
  .. ..- attr(*, "names")= chr [1:6] "Mejor" "Igual" "Peor" "DK" ...
 $ np1        : num  2 2 2 2 1 2 2 2 2 2 ...
  ..- attr(*, "label")= chr "Asistió a una sesión municipal (o eventos similares)"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "labels")= Named num [1:5] 1 2 888888 988888 999999
  .. ..- attr(*, "names")= chr [1:5] "Sí" "No" "DK" "NR" ...
 $ np1new     : num  2 2 2 2 1 2 2 2 2 2 ...
  ..- attr(*, "label")= chr "Asistió a un evento municipal en el último año (en zoom/en línea)"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "labels")= Named num [1:5] 1 2 888888 988888 999999
  .. ..- attr(*, "names")= chr [1:5] "Sí" "No" "DK" "NR" ...
 $ sgl1       : num  3 3 3 3 2 2 2 3 2 2 ...
  ..- attr(*, "label")= chr "Evaluación de los servicios municipales"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "labels")= Named num [1:8] 1 2 3 4 5 ...
  .. ..- attr(*, "names")= chr [1:8] "Muy buenos" "Buenos" "Ni buenos ni malos (regulares)" "Malos" ...
 $ it1        : num  3 2 4 1 1 2 2 4 3 2 ...
  ..- attr(*, "label")= chr "Confianza en la comunidad"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "labels")= Named num [1:7] 1 2 3 4 888888 ...
  .. ..- attr(*, "names")= chr [1:7] "Muy confiable" "Algo confiable" "Poco confiable" "Nada confiable" ...
 $ l1n        : num  1 5 8 5 9 5 4 5 5 3 ...
  ..- attr(*, "label")= chr "Escala izquierda/derecha"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "labels")= Named num [1:5] 1 10 888888 988888 999999
  .. ..- attr(*, "names")= chr [1:5] "Izquierda" "Derecha" "DK" "NR" ...
 $ prot3      : num  2 2 2 2 2 2 2 2 2 2 ...
  ..- attr(*, "label")= chr "Participación en manifestación o protesta"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "labels")= Named num [1:5] 1 2 888888 988888 999999
  .. ..- attr(*, "names")= chr [1:5] "Sí ha participado" "No ha participado" "DK" "NR" ...
 $ jc10       : num  1 1 NA 1 2 NA 2 1 NA 2 ...
  ..- attr(*, "label")= chr "El golpe se justifica cuando hay mucha delincuencia"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "labels")= Named num [1:5] 1 2 888888 988888 999999
  .. ..- attr(*, "names")= chr [1:5] "Se justificaría que los militares tomen el poder por un golpe de Estado" "No se justificaría que los militares tomen el poder por un golpe de Estado" "DK" "NR" ...
 $ jc13       : num  NA NA 2 NA NA 1 NA NA 2 NA ...
  ..- attr(*, "label")= chr "El golpe se justifica cuando hay mucha corrupción"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "labels")= Named num [1:5] 1 2 888888 988888 999999
  .. ..- attr(*, "names")= chr [1:5] "Se justificaría que los militares tomen el poder por un golpe de Estado" "No se justificaría que los militares tomen el poder por un golpe de Estado" "DK" "NR" ...
 $ jc15a      : num  NA NA 1 NA 2 2 1 2 1 1 ...
  ..- attr(*, "label")= chr "El cierre del congreso por el presidente se justifica en tiempos difíciles"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "labels")= Named num [1:5] 1 2 888888 988888 999999
  .. ..- attr(*, "names")= chr [1:5] "Sí se justifica" "No se justifica" "DK" "NR" ...
 $ jc16a      : num  2 1 NA 1 NA NA NA NA NA NA ...
  ..- attr(*, "label")= chr "La disolución de la corte suprema se justifica en tiempos difíciles"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "labels")= Named num [1:5] 1 2 888888 988888 999999
  .. ..- attr(*, "names")= chr [1:5] "Sí se justifica" "No se justifica" "DK" "NR" ...
 $ vic1ext    : num  1 2 2 2 1 1 2 2 2 2 ...
  ..- attr(*, "label")= chr "Víctima del crimen en los últimos 12 meses"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "display_width")= int 9
  ..- attr(*, "labels")= Named num [1:5] 1 2 888888 988888 999999
  .. ..- attr(*, "names")= chr [1:5] "Sí" "No" "DK" "NR" ...
 $ aoj11      : num  4 3 3 2 3 2 2 3 2 2 ...
  ..- attr(*, "label")= chr "Percepción de seguridad en el vecindario"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "labels")= Named num [1:7] 1 2 3 4 888888 ...
  .. ..- attr(*, "names")= chr [1:7] "Muy seguro(a)" "Algo seguro(a)" "Algo inseguro(a)" "Muy inseguro(a)" ...
 $ countfair1 : num  2 3 3 2 1 1 2 3 2 1 ...
  ..- attr(*, "label")= chr "Percepción de la imparcialidad del recuento de votos/papeletas"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "display_width")= int 12
  ..- attr(*, "labels")= Named num [1:6] 1 2 3 888888 988888 ...
  .. ..- attr(*, "names")= chr [1:6] "Siempre" "Algunas veces" "Nunca" "DK" ...
 $ countfair3 : num  2 2 2 1 3 1 1 3 2 3 ...
  ..- attr(*, "label")= chr "Percepción de una votación secreta"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "display_width")= int 12
  ..- attr(*, "labels")= Named num [1:6] 1 2 3 888888 988888 ...
  .. ..- attr(*, "names")= chr [1:6] "Siempre" "Algunas veces" "Nunca" "DK" ...
 $ chm1bn     : num  NA 1 NA 1 2 1 NA 1 NA 2 ...
  ..- attr(*, "label")= chr "Elecciones libres versus renta básica"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "labels")= Named num [1:5] 1 2 888888 988888 999999
  .. ..- attr(*, "names")= chr [1:5] "Un sistema que garantice acceso a un ingreso básico y servicios para todos los ciudadanos, aunque no se pueda elegir a" "Poder votar para elegir las autoridades, aunque algunas personas no tengan acceso a un ingreso básico y servicios" "DK" "NR" ...
 $ chm2bn     : num  2 NA 2 NA NA NA 2 NA 2 NA ...
  ..- attr(*, "label")= chr "Libertad de expresión versus renta básica"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "labels")= Named num [1:5] 1 2 888888 988888 999999
  .. ..- attr(*, "names")= chr [1:5] "Un sistema que garantice acceso a un ingreso básico y servicios para todos los ciudadanos, aunque no se pueda expresar" "Un sistema en el que todos puedan expresar sus opiniones políticas sin miedo o censura, aunque algunas personas no teng" "DK" "NR" ...
 $ cses6n     : num  3 2 2 2 2 4 5 3 3 3 ...
  ..- attr(*, "label")= chr "Líder fuerte que rompe las reglas, buenas o malas"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "labels")= Named num [1:8] 1 2 3 4 5 ...
  .. ..- attr(*, "names")= chr [1:8] "Muy bueno" "Bueno" "Ni bueno ni malo" "Malo" ...
 $ b0         : num  7 4 7 5 4 3 2 5 5 5 ...
  ..- attr(*, "label")= chr "1-7 escalera en preferencias (televisión)"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "labels")= Named num [1:5] 1 7 888888 988888 999999
  .. ..- attr(*, "names")= chr [1:5] "Nada" "Mucho" "DK" "NR" ...
 $ b1         : num  3 2 1 4 5 3 4 3 3 5 ...
  ..- attr(*, "label")= chr "Cortes garantizan un juicio justo"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "labels")= Named num [1:5] 1 7 888888 988888 999999
  .. ..- attr(*, "names")= chr [1:5] "Nada" "Mucho" "DK" "NR" ...
 $ b2         : num  1 2 6 5 6 4 4 5 5 7 ...
  ..- attr(*, "label")= chr "Respeto a las institutiones políticas"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "labels")= Named num [1:5] 1 7 888888 988888 999999
  .. ..- attr(*, "names")= chr [1:5] "Nada" "Mucho" "DK" "NR" ...
 $ b3         : num  1 4 6 3 5 4 3 3 3 4 ...
  ..- attr(*, "label")= chr "Los derechos básicos están protegidos"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "labels")= Named num [1:5] 1 7 888888 988888 999999
  .. ..- attr(*, "names")= chr [1:5] "Nada" "Mucho" "DK" "NR" ...
 $ b4         : num  1 3 7 4 6 4 5 3 3 6 ...
  ..- attr(*, "label")= chr "Orgullo por el sistema político"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "labels")= Named num [1:5] 1 7 888888 988888 999999
  .. ..- attr(*, "names")= chr [1:5] "Nada" "Mucho" "DK" "NR" ...
 $ b6         : num  1 4 7 5 6 4 4 6 4 5 ...
  ..- attr(*, "label")= chr "Se debería apoyar al sistema político"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "labels")= Named num [1:5] 1 7 888888 988888 999999
  .. ..- attr(*, "names")= chr [1:5] "Nada" "Mucho" "DK" "NR" ...
 $ b12        : num  3 6 7 5 7 4 5 6 4 6 ...
  ..- attr(*, "label")= chr "Confianza en las fuerzas armadas"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "labels")= Named num [1:5] 1 7 888888 988888 999999
  .. ..- attr(*, "names")= chr [1:5] "Nada" "Mucho" "DK" "NR" ...
 $ b13        : num  1 3 1 3 5 3 3 2 1 3 ...
  ..- attr(*, "label")= chr "Confianza en la legislatura"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "labels")= Named num [1:5] 1 7 888888 988888 999999
  .. ..- attr(*, "names")= chr [1:5] "Nada" "Mucho" "DK" "NR" ...
 $ b18        : num  3 5 7 6 6 4 5 6 2 6 ...
  ..- attr(*, "label")= chr "Confianza en la policía nacional"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "labels")= Named num [1:5] 1 7 888888 988888 999999
  .. ..- attr(*, "names")= chr [1:5] "Nada" "Mucho" "DK" "NR" ...
 $ b21        : num  1 3 1 3 5 3 2 3 2 3 ...
  ..- attr(*, "label")= chr "Confianza en los partidos políticos"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "labels")= Named num [1:5] 1 7 888888 988888 999999
  .. ..- attr(*, "names")= chr [1:5] "Nada" "Mucho" "DK" "NR" ...
 $ b21a       : num  1 4 5 3 3 2 3 5 1 5 ...
  ..- attr(*, "label")= chr "Confianza en la presidenta"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "labels")= Named num [1:5] 1 7 888888 988888 999999
  .. ..- attr(*, "names")= chr [1:5] "Nada" "Mucho" "DK" "NR" ...
 $ b31        : num  1 4 3 4 5 2 3 1 1 5 ...
  ..- attr(*, "label")= chr "Confianza en el tribunal supremo"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "labels")= Named num [1:5] 1 7 888888 988888 999999
  .. ..- attr(*, "names")= chr [1:5] "Nada" "Mucho" "DK" "NR" ...
 $ b32        : num  1 4 3 6 6 3 4 2 3 5 ...
  ..- attr(*, "label")= chr "Confianza en su municipalidad"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "labels")= Named num [1:5] 1 7 888888 988888 999999
  .. ..- attr(*, "names")= chr [1:5] "Nada" "Mucho" "DK" "NR" ...
 $ b37        : num  4 5 1 6 4 2 1 5 1 5 ...
  ..- attr(*, "label")= chr "Confianza en los medios de comunicación"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "labels")= Named num [1:5] 1 7 888888 988888 999999
  .. ..- attr(*, "names")= chr [1:5] "Nada" "Mucho" "DK" "NR" ...
 $ b47a       : num  1 4 5 5 5 5 3 4 2 5 ...
  ..- attr(*, "label")= chr "Confianza en las elecciones"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "labels")= Named num [1:5] 1 7 888888 988888 999999
  .. ..- attr(*, "names")= chr [1:5] "Nada" "Mucho" "DK" "NR" ...
 $ m1         : num  3 3 3 2 3 4 4 3 4 3 ...
  ..- attr(*, "label")= chr "Aprobación del trabajo ejecutivo"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "labels")= Named num [1:8] 1 2 3 4 5 ...
  .. ..- attr(*, "names")= chr [1:8] "Muy bueno" "Bueno" "Ni bueno, ni malo (regular)" "Malo" ...
 $ sd2new2    : num  3 3 2 2 2 3 3 3 3 2 ...
  ..- attr(*, "label")= chr "Estado de las calles, carreteras, autopistas"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "display_width")= int 9
  ..- attr(*, "labels")= Named num [1:7] 1 2 3 4 888888 ...
  .. ..- attr(*, "names")= chr [1:7] "Muy satisfecho(a)" "Satisfecho(a)" "Insatisfecho(a)" "Muy insatisfecho(a)" ...
 $ sd3new2    : num  2 3 4 2 3 3 3 2 3 4 ...
  ..- attr(*, "label")= chr "Calidad de las escuelas públicas"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "display_width")= int 9
  ..- attr(*, "labels")= Named num [1:7] 1 2 3 4 888888 ...
  .. ..- attr(*, "names")= chr [1:7] "Muy satisfecho(a)" "Satisfecho(a)" "Insatisfecho(a)" "Muy insatisfecho(a)" ...
 $ sd6new2    : num  2 3 4 2 3 3 2 2 3 4 ...
  ..- attr(*, "label")= chr "Calidad de los servicios médicos y salud públicos"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "display_width")= int 9
  ..- attr(*, "labels")= Named num [1:7] 1 2 3 4 888888 ...
  .. ..- attr(*, "names")= chr [1:7] "Muy satisfecho(a)" "Satisfecho(a)" "Insatisfecho(a)" "Muy insatisfecho(a)" ...
 $ sd5new2    : num  2 2 1 2 2 2 2 4 3 2 ...
  ..- attr(*, "label")= chr "Calidad de los servicios de agua"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "display_width")= int 9
  ..- attr(*, "labels")= Named num [1:7] 1 2 3 4 888888 ...
  .. ..- attr(*, "names")= chr [1:7] "Muy satisfecho(a)" "Satisfecho(a)" "Insatisfecho(a)" "Muy insatisfecho(a)" ...
 $ pop101     : num  2 4 1 5 1 1 4 4 3 5 ...
  ..- attr(*, "label")= chr "Limitación de la voz/voto de partidos de la oposición es necesaria para progreso"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "labels")= Named num [1:5] 1 7 888888 988888 999999
  .. ..- attr(*, "names")= chr [1:5] "Muy en desacuerdo" "Muy de acuerdo" "DK" "NR" ...
 $ pop107     : num  3 3 1 7 1 1 7 6 3 2 ...
  ..- attr(*, "label")= chr "Gobernanza directa frente a representantes electos"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "labels")= Named num [1:5] 1 7 888888 988888 999999
  .. ..- attr(*, "names")= chr [1:5] "Muy en desacuerdo" "Muy de acuerdo" "DK" "NR" ...
 $ ros4       : num  4 5 1 6 1 2 7 5 5 6 ...
  ..- attr(*, "label")= chr "Apoyo a las políticas para reducir la desigualdad de ingresos"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "labels")= Named num [1:5] 1 7 888888 988888 999999
  .. ..- attr(*, "names")= chr [1:5] "Muy en desacuerdo" "Muy de acuerdo" "DK" "NR" ...
 $ ing4       : num  1 3 7 5 5 4 6 3 4 6 ...
  ..- attr(*, "label")= chr "Apoyo a la democracia"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "labels")= Named num [1:5] 1 7 888888 988888 999999
  .. ..- attr(*, "names")= chr [1:5] "Muy en desacuerdo" "Muy de acuerdo" "DK" "NR" ...
 $ eff1       : num  7 3 1 3 5 4 6 3 3 5 ...
  ..- attr(*, "label")= chr "A los políticos les importa mi opinión/intereses"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "labels")= Named num [1:5] 1 7 888888 988888 999999
  .. ..- attr(*, "names")= chr [1:5] "Muy en desacuerdo" "Muy de acuerdo" "DK" "NR" ...
 $ eff2       : num  4 5 5 4 6 5 5 3 5 5 ...
  ..- attr(*, "label")= chr "Entiende los problemas políticos más importantes del país"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "labels")= Named num [1:5] 1 7 888888 988888 999999
  .. ..- attr(*, "names")= chr [1:5] "Muy en desacuerdo" "Muy de acuerdo" "DK" "NR" ...
 $ vb21n      : num  4 4 6 1 1 3 4 6 2 4 ...
  ..- attr(*, "label")= chr "La mejor manera de hacer un cambio en el país"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "labels")= Named num [1:9] 1 2 3 4 5 ...
  .. ..- attr(*, "names")= chr [1:9] "Votar para elegir a los que defienden su posición, o" "Postularse como candidato a cargos públicos, o" "Participar en protestas, o" "Participar en juntas o asociaciones de la comunidad, o" ...
 $ crg1       : num  2 1 2 1 2 2 1 2 2 1 ...
  ..- attr(*, "label")= chr "Justificado para actuar fuera de la ley si la otra parte lo hace"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "labels")= Named num [1:6] 1 2 3 888888 988888 ...
  .. ..- attr(*, "names")= chr [1:6] "Sí, se justifica" "No, no se justifica" "No apoya a ningún partido o político" "DK" ...
 $ crg2       : num  2 1 2 1 2 2 2 2 2 1 ...
  ..- attr(*, "label")= chr "Justificado para actuar fuera de la ley para cumplir las promesas"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "labels")= Named num [1:5] 1 2 888888 988888 999999
  .. ..- attr(*, "names")= chr [1:5] "Sí, se justifica" "No, no se justifica" "DK" "NR" ...
 $ pr3dnr     : num  1 3 2 4 2 3 1 4 2 3 ...
  ..- attr(*, "label")= chr "Probabilidad que alguien sea castigado por las autoridades por remodelar su casa"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "labels")= Named num [1:7] 1 2 3 4 888888 ...
  .. ..- attr(*, "names")= chr [1:7] "Nada probable" "Poco probable" "Algo probable" "Muy probable" ...
 $ pr3enr     : num  1 1 1 2 2 3 3 4 3 2 ...
  ..- attr(*, "label")= chr "Probabilidad de que alguien que remodela su casa tenga que pagar un soborno"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "labels")= Named num [1:7] 1 2 3 4 888888 ...
  .. ..- attr(*, "names")= chr [1:7] "Nada probable" "Poco probable" "Algo probable" "Muy probable" ...
 $ env1caltn  : num  2 2 1 2 1 2 2 2 2 1 ...
  ..- attr(*, "label")= chr "Opinión de quién debe recibir financiación para la protección del medio ambiente"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "display_width")= int 11
  ..- attr(*, "labels")= Named num [1:5] 1 2 888888 988888 999999
  .. ..- attr(*, "names")= chr [1:5] "A la municipalidad" "A ONGs u organizaciones comunitarias" "DK" "NR" ...
 $ env1c      : num  5 1 7 5 4 1 3 3 4 1 ...
  ..- attr(*, "label")= chr "Prioridad del crecimiento ambiental o económico"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "labels")= Named num [1:5] 1 7 888888 988888 999999
  .. ..- attr(*, "names")= chr [1:5] "Medio ambiente es prioridad" "Crecimiento económico es prioridad" "DK" "NR" ...
 $ env2b      : num  1 1 1 1 1 1 1 1 1 1 ...
  ..- attr(*, "label")= chr "Gravedad del cambio climático en el futuro"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "labels")= Named num [1:7] 1 2 3 4 888888 ...
  .. ..- attr(*, "names")= chr [1:7] "Muy serio" "Algo serio" "Poco serio" "Nada serio" ...
 $ anestg     : num  4 3 4 4 3 3 2 3 3 3 ...
  ..- attr(*, "label")= chr "Confianza en el gobierno nacional"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "labels")= Named num [1:7] 1 2 3 4 888888 ...
  .. ..- attr(*, "names")= chr [1:7] "Mucho" "Algo" "Poco" "Nada" ...
 $ pn4        : num  3 3 4 2 3 4 3 3 3 2 ...
  ..- attr(*, "label")= chr "Satisfacción con democracia de su país"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "labels")= Named num [1:7] 1 2 3 4 888888 ...
  .. ..- attr(*, "names")= chr [1:7] "Muy satisfecho(a)" "Satisfecho(a)" "Insatisfecho(a)" "Muy insatisfecho(a)" ...
 $ dem30      : num  2 2 1 1 1 1 1 1 2 1 ...
  ..- attr(*, "label")= chr "El país es una democracia"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "labels")= Named num [1:5] 1 2 888888 988888 999999
  .. ..- attr(*, "names")= chr [1:5] "Sí" "No" "DK" "NR" ...
 $ e5         : num  8 6 8 7 9 10 10 1 7 8 ...
  ..- attr(*, "label")= chr "Aprobación de participar en manifestaciones legales"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "labels")= Named num [1:5] 1 10 888888 988888 999999
  .. ..- attr(*, "names")= chr [1:5] "Desaprueba firmemente" "Aprueba firmemente" "DK" "NR" ...
 $ e17a       : num  NA 9 8 7 NA 10 NA NA 6 8 ...
  ..- attr(*, "label")= chr "Aprobación de protestas de grupos que defienden los derechos"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "labels")= Named num [1:5] 1 10 888888 988888 999999
  .. ..- attr(*, "names")= chr [1:5] "Desaprueba firmemente" "Aprueba firmemente" "DK" "NR" ...
 $ e17b       : num  6 NA NA NA 5 NA 10 1 NA NA ...
  ..- attr(*, "label")= chr "Aprobación de protestas por parte de grupos feministas"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "labels")= Named num [1:5] 1 10 888888 988888 999999
  .. ..- attr(*, "names")= chr [1:5] "Desaprueba firmemente" "Aprueba firmemente" "DK" "NR" ...
 $ d3         : num  1 6 1 4 2 1 7 1 7 4 ...
  ..- attr(*, "label")= chr "Aprobación del derecho de los críticos del gobierno a postularse para un cargo"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "labels")= Named num [1:5] 1 10 888888 988888 999999
  .. ..- attr(*, "names")= chr [1:5] "Desaprueba firmemente" "Aprueba firmemente" "DK" "NR" ...
 $ d4         : num  1 6 1 4 7 1 7 1 6 4 ...
  ..- attr(*, "label")= chr "Aprobación del derecho de los críticos del gobierno a dar discursos"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "labels")= Named num [1:5] 1 10 888888 988888 999999
  .. ..- attr(*, "names")= chr [1:5] "Desaprueba firmemente" "Aprueba firmemente" "DK" "NR" ...
 $ d5         : num  5 10 1 5 8 5 7 4 7 7 ...
  ..- attr(*, "label")= chr "Aprobación del derecho de los homosexuales a postularse para un cargo"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "labels")= Named num [1:5] 1 10 888888 988888 999999
  .. ..- attr(*, "names")= chr [1:5] "Desaprueba firmemente" "Aprueba firmemente" "DK" "NR" ...
 $ d6         : num  2 5 1 6 2 5 7 3 4 5 ...
  ..- attr(*, "label")= chr "Aprobación del matrimonio entre personas del mismo sexo"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "labels")= Named num [1:5] 1 10 888888 988888 999999
  .. ..- attr(*, "names")= chr [1:5] "Desaprueba firmemente" "Aprueba firmemente" "DK" "NR" ...
 $ d5newa     : num  NA 10 1 7 NA NA NA 6 NA NA ...
  ..- attr(*, "label")= chr "Aprobación de la igualdad de derechos para las minorías sexuales"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "labels")= Named num [1:5] 1 10 888888 988888 999999
  .. ..- attr(*, "names")= chr [1:5] "Desaprueba firmemente" "Aprueba firmemente" "DK" "NR" ...
 $ d7a        : num  NA 10 1 7 NA NA NA 4 NA NA ...
  ..- attr(*, "label")= chr "Aprobación de la adopción por parejas de minorías sexuales"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "labels")= Named num [1:5] 1 10 888888 988888 999999
  .. ..- attr(*, "names")= chr [1:5] "Desaprueba firmemente" "Aprueba firmemente" "DK" "NR" ...
 $ d5newb     : num  5 NA NA NA 9 5 7 NA 7 8 ...
  ..- attr(*, "label")= chr "Aprobación de la igualdad de derechos para las minorías de género"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "labels")= Named num [1:5] 1 10 888888 988888 999999
  .. ..- attr(*, "names")= chr [1:5] "Desaprueba firmemente" "Aprueba firmemente" "DK" "NR" ...
 $ d7b        : num  1 NA NA NA 1 4 10 NA 4 8 ...
  ..- attr(*, "label")= chr "Aprobación de la adopción por parejas de minorías de género"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "labels")= Named num [1:5] 1 10 888888 988888 999999
  .. ..- attr(*, "names")= chr [1:5] "Desaprueba firmemente" "Aprueba firmemente" "DK" "NR" ...
 $ exc2       : num  0 0 0 0 0 1 0 0 0 1 ...
  ..- attr(*, "label")= chr "Pidió pagar un mordida/soborno por un oficial de policía en los últimos 12 meses"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "labels")= Named num [1:5] 0 1 888888 988888 999999
  .. ..- attr(*, "names")= chr [1:5] "No" "Sí" "DK" "NR" ...
 $ exc6       : num  0 0 0 0 0 1 0 0 0 0 ...
  ..- attr(*, "label")= chr "Pidió pagar una coima por parte de un empleado público en los últimos 12 meses"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "labels")= Named num [1:5] 0 1 888888 988888 999999
  .. ..- attr(*, "names")= chr [1:5] "No" "Sí" "DK" "NR" ...
 $ exc18      : num  1 0 0 0 0 1 0 0 1 1 ...
  ..- attr(*, "label")= chr "El pago de sobornos está justificado"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "labels")= Named num [1:5] 0 1 888888 988888 999999
  .. ..- attr(*, "names")= chr [1:5] "No" "Sí" "DK" "NR" ...
 $ exc7       : num  4 1 1 2 2 2 1 2 1 2 ...
  ..- attr(*, "label")= chr "Percepción de corrupción de funcionarios públicos"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "labels")= Named num [1:7] 1 2 3 4 888888 ...
  .. ..- attr(*, "names")= chr [1:7] "Muy generalizada" "Algo generalizada" "Poco generalizada" "Nada generalizada" ...
 $ exc7new    : num  5 4 5 4 3 4 4 4 5 2 ...
  ..- attr(*, "label")= chr "Cantidad de políticos involucrados en corrupción"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "display_width")= int 9
  ..- attr(*, "labels")= Named num [1:8] 1 2 3 4 5 ...
  .. ..- attr(*, "names")= chr [1:8] "Ninguno" "Menos de la mitad" "La mitad de los políticos" "Más de la mitad" ...
 $ genor4     : num  2 4 1 4 2 5 3 5 4 4 ...
  ..- attr(*, "label")= chr "La violencia física entre miembros de una pareja es un asunto familiar privado"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "labels")= Named num [1:8] 1 2 3 4 5 ...
  .. ..- attr(*, "names")= chr [1:8] "Muy de acuerdo" "De acuerdo" "Ni de acuerdo ni en desacuerdo" "En desacuerdo" ...
 $ aojg3n1    : num  4 3 2 1 2 2 1 1 2 2 ...
  ..- attr(*, "label")= chr "Probabilidad de castigo judicial para el culpable"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "display_width")= int 9
  ..- attr(*, "labels")= Named num [1:7] 1 2 3 4 888888 ...
  .. ..- attr(*, "names")= chr [1:7] "Mucho" "Algo" "Poco" "Nada" ...
 $ lib2c      : num  1 2 2 1 2 1 3 1 1 2 ...
  ..- attr(*, "label")= chr "Percepción de la libertad de expresión política"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "labels")= Named num [1:6] 1 2 3 888888 988888 ...
  .. ..- attr(*, "names")= chr [1:6] "Muy poca" "Suficiente" "Demasiada" "DK" ...
 $ immig1xa   : num  NA 4 5 NA 3 NA NA 4 NA 2 ...
  ..- attr(*, "label")= chr "Los servicios sociales: asistencia salud, educación, vivienda (vuenozolanos)"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "display_width")= int 10
  ..- attr(*, "labels")= Named num [1:8] 1 2 3 4 5 ...
  .. ..- attr(*, "names")= chr [1:8] "Muy de acuerdo" "Algo de acuerdo" "Ni de acuerdo ni en desacuerdo" "Algo en desacuerdo" ...
 $ immig1xb   : num  NA NA NA 1 NA NA NA NA 2 NA ...
  ..- attr(*, "label")= chr "Los servicios sociales: asistencia sanitaria, educación, vivienda (inmigrantes)"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "display_width")= int 10
  ..- attr(*, "labels")= Named num [1:8] 1 2 3 4 5 ...
  .. ..- attr(*, "names")= chr [1:8] "Muy de acuerdo" "Algo de acuerdo" "Ni de acuerdo ni en desacuerdo" "Algo en desacuerdo" ...
 $ immig1xc   : num  3 NA NA NA NA 3 2 NA NA NA ...
  ..- attr(*, "label")= chr "Los servicios sociales: asistencia sanitaria, educación, vivienda (españoles)"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "display_width")= int 10
  ..- attr(*, "labels")= Named num [1:8] 1 2 3 4 5 ...
  .. ..- attr(*, "names")= chr [1:8] "Muy de acuerdo" "Algo de acuerdo" "Ni de acuerdo ni en desacuerdo" "Algo en desacuerdo" ...
 $ comcon3xa  : num  NA 2 1 NA 2 NA NA 1 NA 4 ...
  ..- attr(*, "label")= chr "Opinión del vecino venezolano"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "display_width")= int 11
  ..- attr(*, "labels")= Named num [1:7] 1 2 3 4 888888 ...
  .. ..- attr(*, "names")= chr [1:7] "Mucho" "Algo" "Poco" "Nada" ...
 $ comcon3xb  : num  NA NA NA 4 NA NA NA NA 2 NA ...
  ..- attr(*, "label")= chr "Opinión del vecino inmigrante"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "display_width")= int 11
  ..- attr(*, "labels")= Named num [1:7] 1 2 3 4 888888 ...
  .. ..- attr(*, "names")= chr [1:7] "Mucho" "Algo" "Poco" "Nada" ...
 $ comcon3xc  : num  4 NA NA NA NA 4 4 NA NA NA ...
  ..- attr(*, "label")= chr "Opinión del vecino español"
  ..- attr(*, "format.spss")= chr "F6.0"
  ..- attr(*, "display_width")= int 11
  ..- attr(*, "labels")= Named num [1:7] 1 2 3 4 888888 ...
  .. ..- attr(*, "names")= chr [1:7] "Mucho" "Algo" "Poco" "Nada" ...
  [list output truncated]

Identificacmos la variable que nos interesa

data$protesta=data$prot3

Identificacmos la variable que nos interesa

data$manifestaciones_ley=data$e5

Damos formato a las variables en R Studio

  1. Usamos el comando as.numeric para solicitar dar el formato de variable numérica.
data$manifestaciones_ley=as.numeric(data$manifestaciones_ley)
  1. Usamos el comando as.factor para solicitar dar el formato de variable factor o categorica.
data$protesta=as.factor(data$protesta)

Si la variable es categórica, se requiere definir sus valores.

data$protesta=factor(data$protesta,levels = levels(data$protesta),
                labels = c("Sí ha participado","No ha participado"),
                ordered = F)
  1. Usamos el comando class para verificar el formato de variable. Similar a str.
class(data$protesta)
[1] "factor"

Tabla de frencuencia en R Studio

  1. Usamos el comando table para solicitar una tabla de frencuencias. En R es util para las variables categóricas, mas no para las numéricas.
table(data$protesta)

Sí ha participado No ha participado 
              180              1354 

Estadística Descriptiva

La estadística descriptiva es un conjunto de técnicas numéricas y gráficas para describir y analizar un grupo de datos.

Utilizamos las medidas de tendencia central y de dispersión para informar sobre cómo se comportan los datos.

Se pueden describir bases de datos extraídas a partir de una encuesta o en un registro.

Preguntas claves para describir (1)

Si los individuos son los objetos descritos por un conjunto de datos. Los individuos pueden ser personas, pero también pueden ser animales o cosas.(Filas) Y una variable es cualquier característica de un individuo. Una variable puede tomar distintos valores para distintos individuos.(Columnas)

  1. ¿Quién? ¿Qué individuos describen los datos? ¿Cuántos individuos aparecen en los datos?

Preguntas claves para describir (2)

  1. ¿Qué? ¿Cuántas variables contienen los datos? ¿Cuáles son las definiciones exactas de dichas variables? ¿En qué unidades se ha registrado cada variable? El peso, por ejemplo, se puede expresar en kilogramos, en quintales o en toneladas.

  2. ¿Por qué? ¿Qué propósito se persigue con estos datos? ¿Queremos responder alguna pregunta concreta? ¿Queremos obtener conclusiones so- bre unos individuos de los que no tenemos realmente datos?

Medidas de tendencia central (1)

  • A las medidas de centralidad también se les conoce también como medidas de tendencia central
  1. Las medidas de tendencia central (moda, mediana y media) muestran la medición más típica o representativa de una determinada distribución (Agresti y Finlay 1997)

Un estadístico de tendencia central proporciona una estimación de la puntuación típica, común o normal encontrada en una distribución de puntuaciones en bruto (Ritchey 2008)

Medidas de tendencia central (2)

Por lo general, la descripción de la distribución de una variables incluye una medida de su centro o tendencia central (Nota: Aunque pueda sonar extraño, esto también aplica para las variables categóricas nominales y ordinales)

Las medidas más comunes de esta tendencia central son:

  • Moda

  • Mediana

  • Media o Promedio

Moda

  • La Moda es el valor que ocurre con mayor frecuencia
  • Es particularmente útil con variables categóricas nominales y categóricas ordinales
  • A esta mayor frecuencia de un determinado valor corresponde el significado de centralidad en variables categóricas

Moda en R Studio

Usamos el comando table para solicitar una tabla de frencuencias e identificar el valor más alto.

table(data$protesta)

Sí ha participado No ha participado 
              180              1354 
table(data$protesta) #No tiene sentido generar una tabla de variables numéricas.

Sí ha participado No ha participado 
              180              1354 

Moda en R Studio (2)

  • Otra forma con el paquete dplyr
install.packages("dplyr")
library(dplyr)
  • Usamos el pipe %>% para ordenar los comandos.
data %>%                      ## Paso 1: DATA 
  count(protesta=protesta, name = "Frecuencia") ## Paso 2: Pido una tabla de frecuencia de la variable continent
           protesta Frecuencia
1 Sí ha participado        180
2 No ha participado       1354
3              <NA>          1

Moda en R Studio (3)

  • Otra forma con el paquete mutate para crear una nueva variable.
data %>%                     
count(protesta=protesta, name = "Frecuencia") %>%  mutate(Porcentaje=Frecuencia/sum(Frecuencia)*100)  
           protesta Frecuencia  Porcentaje
1 Sí ha participado        180 11.72638436
2 No ha participado       1354 88.20846906
3              <NA>          1  0.06514658

Mediana

  • La Mediana es el punto medio de una distribución, es decir el valor que divide a la distribución en dos partes iguales.

  • Por lo tanto, debajo de ese valor se ubica el 50% de los casos y por encima de ese valor se ubica el otro 50% de los casos El cálculo de la Mediana es posible o tiene sentido cuando la variable que se está analizando es por lo menos ordinal.

Cálculo de la Mediana

Para hallar la Mediana de una distribución se necesita:

  1. Ordenar todas las observaciones de la mínima a la máxima (lista ordenada)

  2. Si el número de observaciones es impar, entonces la mediana es la observación central de la lista ordenada.

  3. Para hallar la observación central (por lo tanto, el valor de la mediana), se usa la siguiente fórmula: (n + 1) / 2

  4. Si el número de observaciones es par, la mediana es el promedio (o la media) de las dos observaciones centrales de la lista ordenada.

Cálculo de la Mediana cuando el número es impar

Tengo 11 números.

Cálculo de la Mediana cuando el número es par

Tengo 20 números.

Mediana en R Studio

Usamos el comando median para solicitar la mediana.

median(data$manifestaciones_ley,na.rm=T)
[1] 6

Otra forma con el paquete dplyr

install.packages("dplyr")
library(dplyr)
  • Usamos el comando summarize para resumir la información.
data %>%                      ## Paso 1: DATA 
  summarize(Mediana=median(manifestaciones_ley,na.rm=T))  ## Paso 2: Resumir 
  Mediana
1       6

Media

La media o el promedio es la suma de todas las mediciones (valores) divididas por el número total de mediciones u observaciones

  • Fórmula para el cálculo de la Media (Promedio):

Media en R Studio

Usamos el comando media para solicitar la media

mean(data$manifestaciones_ley,na.rm=T)
[1] 6.158585

Otra forma con el paquete dplyr

install.packages("dplyr")
library(dplyr)
  • Usamos el comando summarize para resumir la información.
data %>%                      ## Paso 1: DATA 
  summarize(Promedio=mean(manifestaciones_ley,na.rm=T))  ## Paso 2: Resumir 
  Promedio
1 6.158585

Media vs. mediana

  • La media es un estadístico sensible a los valores extremos.Basta que algún dato dentro de la muestra sea muy alto o muy bajo, el promedio se verá alterado.

  • La mediana, en cambio, es un estadístico robusto. Aunque los extremos de los datos se vean alterados, la mediana permanece invariable.

Media vs. mediana en R studio

  • Usamos los paquetes dplyr y tidyverse

  • Usamos el pipe %>% para ordenar los comandos.

install.packages("dplyr")
library(dplyr)
  • Usamos el comando summarize para resumir la información.
data %>%                      ## Paso 1: DATA 
  summarize(Promedio=mean(manifestaciones_ley,na.rm=T),Mediana=median(manifestaciones_ley,na.rm=T))  ## Paso 2: Resumir 
  Promedio Mediana
1 6.158585       6

Media vs. mediana en R studio en una tabla

  • Usamos el paquete kableExtra

  • Usamos los comandos kable y kable_styling para elaborar una tabla.

library(kableExtra)
data %>%                      ## Paso 1: DATA 
  summarize(Promedio=mean(manifestaciones_ley,na.rm=T),Mediana=median(manifestaciones_ley,na.rm=T)) %>%   ## Paso 2: Resumir 
  kable() %>%  # Paso 3: Convierte la tabla en código HTML
  kable_styling()# Paso 4: Se visualiza mejor la tabla.Esto te servirá cuando utilices Rmd dado que este crear un archivo HTML.
Promedio Mediana
6.158584 6

Media vs. mediana en R studio por grupos

  • Usamos el comando group_by para referir los grupos en los que deseamos resumir la información.
data %>%                      ## Paso 1: DATA 
  group_by(protesta) %>%   
  summarize(Promedio=mean(manifestaciones_ley,na.rm=T),Mediana=median(manifestaciones_ley,na.rm=T))
# A tibble: 3 × 3
  protesta          Promedio Mediana
  <fct>                <dbl>   <dbl>
1 Sí ha participado     7.42       8
2 No ha participado     5.99       6
3 <NA>                  9          9

Gráfico : Histograma

Para variables numéricas

  1. Instalar el paquete ggplot2
install.packages("ggplot2")
library(ggplot2)
  1. El comando aes denomina a las coordenadas ‘x’ y ‘y’.
ggplot(data, aes(x=manifestaciones_ley))
  1. El comando geom_histogram genera el histograma.
ggplot(data, aes(x=manifestaciones_ley)) + geom_histogram()

Gráfico : Histograma por grupos

  1. El comando geom_histogram genera el histograma. Se emplea fill para colocar la variable factor.
ggplot(data, aes(x = manifestaciones_ley, fill = protesta)) +
  geom_histogram(alpha = 0.6, position = "dodge", bins = 20) +
  labs(title = "Histograma por Grupo", x = "Valor", y = "Frecuencia") +
  theme_minimal() +
  scale_fill_manual(values = c("blue", "red"))

Gráfico : Gráfico de Barras

Para variables categóricas

  1. Instalar el paquete ggplot2
install.packages("ggplot2")
library(ggplot2)
  1. El comando aes denomina a las coordenadas ‘x’ y ‘y’.
ggplot(data, aes(x=protesta))
  1. El comando geom_bar genera el gráfico de barras.
ggplot(data = data, aes(x = protesta)) +
  geom_bar(fill = 'red')

Gráfico de barras con porcentaje

  1. El comando geom_bar genera el gráfico de barras.
tabla <- data%>%
  count(protesta)%>%
  mutate(Porcentaje=round(n/sum(n)*100,1))


# Crear gráfico de barras con ggplot2
ggplot(tabla, aes(x = protesta, y = Porcentaje, fill = protesta)) +
  geom_bar(stat = "identity") +
  labs(title = "Distribución por Porcentaje", x = "Grupo", y = "Porcentaje") +
  theme_minimal() +
  scale_fill_manual(values = c("blue", "red", "green")) +
  geom_text(aes(label = sprintf("%.1f%%", Porcentaje)), vjust = -0.5)

Gráfico sin NA

  1. El comando !is.na significa no contar con datos perdidos.
tabla_sin_na <- subset(tabla, !is.na(protesta))

ggplot(tabla_sin_na, aes(x = protesta, y = Porcentaje, fill = protesta)) +
  geom_bar(stat = "identity") +
  labs(title = "Distribución por Porcentaje", x = "Grupo", y = "Porcentaje") +
  theme_minimal() +
  scale_fill_manual(values = c("blue", "red")) +
  geom_text(aes(label = sprintf("%.1f%%", Porcentaje)), vjust = -0.5)

Más información en: https://www.sharpsightlabs.com/blog/barplot-r-geom_bar/

Gráfico Circulas o Pie

ggplot(tabla_sin_na, aes(x = "", y = Porcentaje, fill = protesta)) +
  geom_bar(stat = "identity", width = 1) + 
  coord_polar(theta = "y") +  # Convierte a gráfico circular
  theme_void() +  # Elimina fondo y ejes
  labs(title = "Gráfico de Pastel en R") +
  scale_fill_manual(values = c("blue", "red")) 

Resumen de estadísticos de tendencia central

Resumen de estadísticos de tendencia central

Reto - Nivel 2

Debido a que ya se han convocado las Elecciones Generales 2026 en el Perú, es fundamental analizar la cultura política de los ciudadanos en relación con los comicios. Para ello, se utilizará la base de datos de la Encuesta LAPOP 2023, la cual proporciona información clave sobre las percepciones y actitudes sobre las elecciones. Realice con los resultados un informe descriptivo. Utilice los gráficos aprendidos.

Practica lo aprendido