San Juan de Lurigancho es el distrito más poblado de Lima, Perú, y Sudamérica, con más de un millón de habitantes y una complejidad de demandas y problemáticas. En los 54 años de creación política, 20 alcaldes han pasado por el sillón municipal, y el alcalde número 21, Alex Gonzáles, terminará su mandato el próximo año. Asimismo, las elecciones municipales y regionales tomarán partido el próximo octubre de 2022 para el próximo período municipal 2023-2026. Ello pone en relieve el contexto electoral, donde diversas agrupaciones políticas disputarán los puestos a alcalde y regidores.
En este trabajo, vamos a responder dos preguntas iniciales, tomando en cuenta las últimas cinco elecciones municipales de los años 2002, 2006, 2010, 2014, y 2018. Nuestra primera pregunta es cuál la evolución de voto obtenido por los alcaldes distritales y sus agrupaciones políticas en elecciones mencionadas. Aquí también podemos alzar una subpregunta sobre cuál ha sido el porcentaje menor y el porcentaje mayor alcanzado por los candidatos que alcanzaron el primer lugar en cada una de las elecciones. La segunda pregunta es sobre cuántos candidatos al cargo de alcalde municipal/organizaciones políticas se presentaron por año electoral. Esta pregunta nos ayudará a ver la evolución del número y tipo de organizaciones políticas que participaron en las últimas cinco elecciones municipales. Asimismo, esta última pregunta nos lleva a cuestionar el efecto de las modificaciones a la Ley Nro. 28094 –Ley de Partidos Políticos, que fue modificada por la Ley N° 30414, cuyo artículo 1° modificó el título a “Ley de Organizaciones Políticas”–, específicamente el apartado sobre la inscripción de Agrupaciones Políticas y Alianzas Electorales.
Descripción del aporte de cada paquete usado (¿qué funciones/operaciones me permite realizar?)
Para la consecusión de este trabajo en R Markdown, hemos cargado un conjunto de paquetes. Así, el paquete library(readxl) ha servido para leer las bases de datos de excel. Los paquetes de library(dplyr) y library(tidyverse) nos han servido para trabajar la limpieza inicial de los datos, organizar los datos, filtrar (filter) la información del distrito de San Juan de Lurigancho, seleccionar (select) las variables relevantes. De esta forma, agrupar, juntar, desagrupar y asignar nuevas variables a la información que nos permitan responder las preguntas iniciales. Asimismo, el paquete library(tidyverse) contiene en las funciones del paquete ggplot2, necesario para realizar los gráficos. Finalmente, el paquete library(ggthemes) corresponde a los colores, forma y temas que puede tener un gráfico final.
library(readxl)
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(tidyverse)
## -- Attaching packages --------------------------------------- tidyverse 1.3.1 --
## v ggplot2 3.3.3 v purrr 0.3.4
## v tibble 3.1.2 v stringr 1.4.0
## v tidyr 1.1.3 v forcats 0.5.1
## v readr 1.4.0
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
library(magrittr)
##
## Attaching package: 'magrittr'
## The following object is masked from 'package:purrr':
##
## set_names
## The following object is masked from 'package:tidyr':
##
## extract
library(ggthemes)
Para este trabajo aplicativo, hemos extraído información de la Bases de datos de Infogob, presentes en la siguiente página web de acceso libre: https://infogob.jne.gob.pe/BaseDatos Para acceder a las bases, seleccionamos el tipo de proceso: ELECCIONES MUNICIPALES DISTRITALES, y el tipo de elección: ELECCIÓN MUNICIPAL 2002, 2006, 2010, 2014 y 2016. De la información disponible, seleccionamos y descargamos DOS tipos de bases de datos, con sus respectivas variables:
Una vez descargadas, guardamos nuestras bases de datos en la carpeta correspondiente a este trabajo, para luego leerlas con library(readxl).
Empleando la library(readxl), aquí leímos las las bases de datos de Autoridades Distritales 2002, 2006, 2010, 2014 y 2018.
autoridades_dis2002 <- read_excel("ERM2002_Autoridades_Distrital.xlsx")
autoridades_dis2006 <- read_excel("ERM2006_Autoridades_Distrital.xlsx")
autoridades_dis2010 <- read_excel("ERM2010_Autoridades_Distrital.xlsx")
autoridades_dis2014 <- read_excel("ERM2014_Autoridades_Distrital.xlsx")
autoridades_dis2018 <- read_excel("ERM2018_Autoridades_Distrital.xlsx")
Empleando la library(readxl), aquí leímos las las bases de datos de Candidatos Distritales de 2002, 2006, 2010, 2014 y 2018.
cand_dis2002 <- read_excel("ERM2002_Candidatos_Distrital.xlsx")
cand_dis2006 <- read_excel("ERM2006_Candidatos_Distrital.xlsx")
## Warning in read_fun(path = enc2native(normalizePath(path)), sheet_i = sheet, :
## Expecting logical in M59455 / R59455C13: got 'Nativo'
cand_dis2010 <- read_excel("ERM2010_Candidatos_Distrital.xlsx")
cand_dis2014 <- read_excel("ERM2014_Candidatos_Distrital.xlsx")
cand_dis2018 <- read_excel("ERM2018_Candidatos_Distrital.xlsx")
Una vez leídas nuestras bases de datos, procedimos a ubicar la información disponible para San Juan de Lurigancho en cada una de las bases generales por año electoral. Para este conjunto de funciones, empleamos los pipes, representados en el símbolo %>%, para obtener los resultados que estamos buscando para este caso. Por tanto, trabajamos con la base de autoridades distritales 2002, y creamos la tabla autorides_municipales_SJL2002 para consignar solo los datos sobre San Juan de Lurigancho. Seguidamente, empleamos tres funciones. Primero, filter para obtener solo la información de este distro; select para solo quedarnos con las variables que son importantes para responder las preguntas inciales. En este caso, es conveniente emplear el signo - para quedarnos con las variables restantes, porque no necesitamos las variables de región, provincia, joven y nativo. Finalmente, empleamos mutate para crear una columna nueva, que consigne el año electoral correspondiente a la información extraída.
Aquí tenemos tres puntos a esclarecer:
1. Colocamos la palabra “Year”, vocablo en inglés para referirnos al año electoral. Muchas veces, la letra ñ del español podría generar confusión entre las funciones. 2. Esta columna agregada del año electoral servirá para después agrupar las bases en una sola y tener la distinción de la información de las variables por año electoral. 3 Estas tres funciones fueron aplicadas a las cinco bases de datos para obtener la información sobre cada año electoral. En otras palabras, el procedimiento se repite para las autoridades distritales 2006, 2010, 2014 y 2018.
autoridades_municipales_SJL2002 <-autoridades_dis2002 %>%
filter(Distrito == "SAN JUAN DE LURIGANCHO") %>%
select(-Región,-Provincia,-Joven,-Nativo) %>%
mutate(Year = "2002")
autoridades_municipales_SJL2002
## # A tibble: 16 x 11
## Distrito `Cargo electo` `Primer apellid~ `Segundo apelli~ Prenombres
## <chr> <chr> <chr> <chr> <chr>
## 1 SAN JUAN DE ~ ALCALDE DISTRIT~ RABANAL TORRES MAURICIO
## 2 SAN JUAN DE ~ REGIDOR DISTRIT~ CULQUI GALLARDO SEGUNDO CAR~
## 3 SAN JUAN DE ~ REGIDOR DISTRIT~ OTAROLA DE LA TORRE MAGDA MONICA
## 4 SAN JUAN DE ~ REGIDOR DISTRIT~ JORGE ZANABRIA BADIMILO IG~
## 5 SAN JUAN DE ~ REGIDOR DISTRIT~ CANDELA QUISPE LUIS ALBERTO
## 6 SAN JUAN DE ~ REGIDOR DISTRIT~ GARCIA RICHARDZON TEODULO PAT~
## 7 SAN JUAN DE ~ REGIDOR DISTRIT~ PALOMINO VASQUEZ ROCIO
## 8 SAN JUAN DE ~ REGIDOR DISTRIT~ CARPIO SOTO NESTOR NEPT~
## 9 SAN JUAN DE ~ REGIDOR DISTRIT~ ROJAS CAMACHO OSCAR TEOBA~
## 10 SAN JUAN DE ~ REGIDOR DISTRIT~ GUIDO QUINTANA CESAR
## 11 SAN JUAN DE ~ REGIDOR DISTRIT~ ORTEGA FLORES JENNY VICKY
## 12 SAN JUAN DE ~ REGIDOR DISTRIT~ ESTRAVER TORRES JOEL
## 13 SAN JUAN DE ~ REGIDOR DISTRIT~ ALARCON DENEGRI DE SANC~ ESTEFANIA A~
## 14 SAN JUAN DE ~ REGIDOR DISTRIT~ LAYME ESCOBAR ROMER BENIG~
## 15 SAN JUAN DE ~ REGIDOR DISTRIT~ BALDEON SURICHAQUI JUAN
## 16 SAN JUAN DE ~ REGIDOR DISTRIT~ SILVA MALLQUI JUAN NERIO
## # ... with 6 more variables: Organización Política <chr>,
## # Tipo Organización Política <chr>, Sexo <chr>,
## # Votos obtenidos por la organización política <dbl>,
## # % Votos obtenidos por la organización política <dbl>, Year <chr>
autoridades_municipales_SJL2006 <- autoridades_dis2006 %>%
filter(Distrito == "SAN JUAN DE LURIGANCHO") %>%
select(-Región,-Provincia,-Joven,-Nativo) %>%
mutate(Year = "2006")
autoridades_municipales_SJL2006
## # A tibble: 16 x 11
## Distrito `Cargo electo` `Primer apellid~ `Segundo apelli~ Prenombres
## <chr> <chr> <chr> <chr> <chr>
## 1 SAN JUAN DE ~ ALCALDE DISTRIT~ BURGOS HORNA CARLOS JOSE
## 2 SAN JUAN DE ~ REGIDOR DISTRIT~ LEON CARDENAS IVONNE MARIA
## 3 SAN JUAN DE ~ REGIDOR DISTRIT~ SANCHEZ SEGOVIA RONALD CRIS~
## 4 SAN JUAN DE ~ REGIDOR DISTRIT~ CASTAÑEDA PARRAGA DE GODOY MARTHA ANGE~
## 5 SAN JUAN DE ~ REGIDOR DISTRIT~ NESTARES SILVA DAVID ELIAS
## 6 SAN JUAN DE ~ REGIDOR DISTRIT~ CORDOVA YARO MARTIN
## 7 SAN JUAN DE ~ REGIDOR DISTRIT~ LACHOS CORRALES VIRGILIO DA~
## 8 SAN JUAN DE ~ REGIDOR DISTRIT~ RIVERA ARIAS NECTARIO
## 9 SAN JUAN DE ~ REGIDOR DISTRIT~ MALDONADO AMAO JESUS
## 10 SAN JUAN DE ~ REGIDOR DISTRIT~ CHUQUIHUACCHA JOYO VICTOR RAUL
## 11 SAN JUAN DE ~ REGIDOR DISTRIT~ JORGE ZANABRIA BADIMILO IG~
## 12 SAN JUAN DE ~ REGIDOR DISTRIT~ GARCIA RICHARDZON TEODULO PAT~
## 13 SAN JUAN DE ~ REGIDOR DISTRIT~ ROJAS CAMACHO OSCAR TEOBA~
## 14 SAN JUAN DE ~ REGIDOR DISTRIT~ DIAZ MONTES LUZ ELENA
## 15 SAN JUAN DE ~ REGIDOR DISTRIT~ MEDINA MATOS MIGUEL ANGEL
## 16 SAN JUAN DE ~ REGIDOR DISTRIT~ ZAPATA VASQUEZ MANUEL ARTU~
## # ... with 6 more variables: Organización Política <chr>,
## # Tipo Organización Política <chr>, Sexo <chr>,
## # Votos obtenidos por la organización política <dbl>,
## # % Votos obtenidos por la organización política <dbl>, Year <chr>
autoridades_municipales_SJL2010 <- autoridades_dis2010 %>%
filter(Distrito == "SAN JUAN DE LURIGANCHO") %>%
select(-Región,-Provincia,-Joven,-Nativo) %>%
mutate(Year = "2010")
autoridades_municipales_SJL2010
## # A tibble: 16 x 11
## Distrito `Cargo electo` `Primer apellido` `Segundo apelli~ Prenombres
## <chr> <chr> <chr> <chr> <chr>
## 1 SAN JUAN DE~ ALCALDE DISTRI~ BURGOS HORNA CARLOS JOSE
## 2 SAN JUAN DE~ REGIDOR DISTRI~ NESTARES SILVA DAVID ELIAS
## 3 SAN JUAN DE~ REGIDOR DISTRI~ GARCIA RICHARDZON TEODULO PATR~
## 4 SAN JUAN DE~ REGIDOR DISTRI~ GUILLEN RENGIFO ROSA SABRINA
## 5 SAN JUAN DE~ REGIDOR DISTRI~ JORGE ZANABRIA BADIMILO IGN~
## 6 SAN JUAN DE~ REGIDOR DISTRI~ MALDONADO AMAO JESUS
## 7 SAN JUAN DE~ REGIDOR DISTRI~ LACHOS CORRALES VIRGILIO DAM~
## 8 SAN JUAN DE~ REGIDOR DISTRI~ MOSQUERA SHAPIAMA JUAN MOZA
## 9 SAN JUAN DE~ REGIDOR DISTRI~ RIVERA ARIAS NECTARIO
## 10 SAN JUAN DE~ REGIDOR DISTRI~ LAYME ESCOBAR ROMER BENIGNO
## 11 SAN JUAN DE~ REGIDOR DISTRI~ VERA MUÑICO EUSTAQUIO CE~
## 12 SAN JUAN DE~ REGIDOR DISTRI~ PAREDES VELASQUEZ HELI
## 13 SAN JUAN DE~ REGIDOR DISTRI~ ZAMBRANO ESPINOZA JOSE
## 14 SAN JUAN DE~ REGIDOR DISTRI~ LUNA GALVEZ MARIA MAGDAL~
## 15 SAN JUAN DE~ REGIDOR DISTRI~ SALDAÑA REATEGUI EDGAR HOMERO
## 16 SAN JUAN DE~ REGIDOR DISTRI~ ARANGO CLEMENTE CELIA LUISA
## # ... with 6 more variables: Organización Política <chr>,
## # Tipo Organización Política <chr>, Sexo <chr>,
## # Votos obtenidos por la organización política <dbl>,
## # % Votos obtenidos por la organización política <dbl>, Year <chr>
autoridades_municipales_SJL2014 <- autoridades_dis2014 %>%
filter(Distrito == "SAN JUAN DE LURIGANCHO") %>%
select(-Región,-Provincia,-Joven,-Nativo) %>%
mutate(Year = "2014")
autoridades_municipales_SJL2014
## # A tibble: 16 x 11
## Distrito `Cargo electo` `Primer apellid~ `Segundo apelli~ Prenombres
## <chr> <chr> <chr> <chr> <chr>
## 1 SAN JUAN DE ~ ALCALDE DISTRIT~ NAVARRO JIMENEZ JUAN VALENT~
## 2 SAN JUAN DE ~ REGIDOR DISTRIT~ COTRINA ALVA EDGAR FREDDY
## 3 SAN JUAN DE ~ REGIDOR DISTRIT~ LEON NINAHUANCA MARIO ADRIAN
## 4 SAN JUAN DE ~ REGIDOR DISTRIT~ SUDARIO GUERRA SANDRA PAOLA
## 5 SAN JUAN DE ~ REGIDOR DISTRIT~ MENESES PRINCIPE GERALD ROOS~
## 6 SAN JUAN DE ~ REGIDOR DISTRIT~ LARA POMA ROSAURA
## 7 SAN JUAN DE ~ REGIDOR DISTRIT~ SALAZAR AYSANOA JULIO CESAR
## 8 SAN JUAN DE ~ REGIDOR DISTRIT~ PUMACAYAHUA QUISPE PAMELA
## 9 SAN JUAN DE ~ REGIDOR DISTRIT~ QUISPE ROMERO JULIA
## 10 SAN JUAN DE ~ REGIDOR DISTRIT~ MEDRANO AGUILAR HOBER
## 11 SAN JUAN DE ~ REGIDOR DISTRIT~ NESTARES SILVA DAVID ELIAS
## 12 SAN JUAN DE ~ REGIDOR DISTRIT~ GARCIA RICHARDZON TEODULO PAT~
## 13 SAN JUAN DE ~ REGIDOR DISTRIT~ GREGORIO SEGURA CLAUDIO
## 14 SAN JUAN DE ~ REGIDOR DISTRIT~ GUIDO QUINTANA CESAR
## 15 SAN JUAN DE ~ REGIDOR DISTRIT~ ALARCON SOLIS SABINA
## 16 SAN JUAN DE ~ REGIDOR DISTRIT~ MANCHEGO PILCO LEONCIO PLA~
## # ... with 6 more variables: Organización Política <chr>,
## # Tipo Organización Política <chr>, Sexo <chr>,
## # Votos obtenidos por la organización política <dbl>,
## # % Votos obtenidos por la organización política <dbl>, Year <chr>
autoridades_municipales_SJL2018 <- autoridades_dis2018 %>%
filter(Distrito == "SAN JUAN DE LURIGANCHO") %>%
select(-Región,-Provincia,-Joven,-Nativo) %>%
mutate(Year = "2018")
autoridades_municipales_SJL2018
## # A tibble: 16 x 11
## Distrito `Cargo electo` `Primer apellid~ `Segundo apelli~ Prenombres
## <chr> <chr> <chr> <chr> <chr>
## 1 SAN JUAN DE L~ REGIDOR DISTRIT~ CCENTE MAURICIO JENIFER LE~
## 2 SAN JUAN DE L~ ALCALDE DISTRIT~ GONZALES CASTILLO ALEX
## 3 SAN JUAN DE L~ REGIDOR DISTRIT~ ARIAS VIVAR PEDRO FRAN~
## 4 SAN JUAN DE L~ REGIDOR DISTRIT~ GREGORIO SEGURA CLAUDIO
## 5 SAN JUAN DE L~ REGIDOR DISTRIT~ CONISLLA RAMIREZ EDIE PETER
## 6 SAN JUAN DE L~ REGIDOR DISTRIT~ TAFUR DEL AGUILA ANGEL MANU~
## 7 SAN JUAN DE L~ REGIDOR DISTRIT~ ZELADA ORTIZ MARIA NELI~
## 8 SAN JUAN DE L~ REGIDOR DISTRIT~ ALONZO RAMIREZ EVELYN LIS~
## 9 SAN JUAN DE L~ REGIDOR DISTRIT~ HERQUINIO LUNA OSCAR NIEL
## 10 SAN JUAN DE L~ REGIDOR DISTRIT~ YAURICASA LUNA JOSE LUIS
## 11 SAN JUAN DE L~ REGIDOR DISTRIT~ USQUIANO AVILA SAÚL ANTON~
## 12 SAN JUAN DE L~ REGIDOR DISTRIT~ CAPCHA POMA PAVEL VLAD~
## 13 SAN JUAN DE L~ REGIDOR DISTRIT~ PUMACAYAHUA QUISPE PAMELA
## 14 SAN JUAN DE L~ REGIDOR DISTRIT~ CALDERON ZEVALLOS GIANCARLO
## 15 SAN JUAN DE L~ REGIDOR DISTRIT~ DE LA CRUZ MALCA HUGO MOISES
## 16 SAN JUAN DE L~ REGIDOR DISTRIT~ BALBIN OLIVERA NICOLAS
## # ... with 6 more variables: Organización Política <chr>,
## # Tipo Organización Política <chr>, Sexo <chr>,
## # Votos organización política <dbl>, % Votos organización política <dbl>,
## # Year <chr>
¿Qué pasó aquí? En la base de datos 2018, el nombre de dos variables ariable es más abreviado: Votos organización política y % Votos obtenidos por la organización política) que el nombre usado para las bases de datos del 2002 hasta el 2014: Votos obtenidos por la organización política y % Votos obtenidos por la organización política). Por eso, al momemto de emplear blind_rows no hay consistencia en la última base 2018.
Para resolver: Paso 1: Utilizar las funciones de mutate y select con pipes. Paso 2: Tomar la base 2018, asignar un nuevo nombre “Nuevo_baseAD2018”, emplear pipes y las funciones Paso 3: En mutate: recordar a la derecha va el nombre que quiero asignar (cambiar), y la izquierda el nombre anterior (en este caso, el nombre empleado en la base 2018). RECORDAR: No hacer este procedimiento en la base que resultó de la función blind_row
gap2 %>% mutate(mi nombre del 2014 = Votos organización política) %>% select(-mi nombre 2018)
La Nueva_baseAD2018 es la que tiene los nombres de las variables que se igualan a los nombres de las bases anteriores. Y la función select, usando el signo negativo nos permiten prescindir las variables de la base 2018, con los nombres más largos.
Nueva_baseAD2018 <- autoridades_municipales_SJL2018 %>%
mutate(`Votos obtenidos por la organización política` = `Votos organización política`, `% Votos obtenidos por la organización política` = `% Votos organización política`) %>%
select(-`Votos organización política`, -`% Votos organización política`)
Nueva_baseAD2018
## # A tibble: 16 x 11
## Distrito `Cargo electo` `Primer apellid~ `Segundo apelli~ Prenombres
## <chr> <chr> <chr> <chr> <chr>
## 1 SAN JUAN DE L~ REGIDOR DISTRIT~ CCENTE MAURICIO JENIFER LE~
## 2 SAN JUAN DE L~ ALCALDE DISTRIT~ GONZALES CASTILLO ALEX
## 3 SAN JUAN DE L~ REGIDOR DISTRIT~ ARIAS VIVAR PEDRO FRAN~
## 4 SAN JUAN DE L~ REGIDOR DISTRIT~ GREGORIO SEGURA CLAUDIO
## 5 SAN JUAN DE L~ REGIDOR DISTRIT~ CONISLLA RAMIREZ EDIE PETER
## 6 SAN JUAN DE L~ REGIDOR DISTRIT~ TAFUR DEL AGUILA ANGEL MANU~
## 7 SAN JUAN DE L~ REGIDOR DISTRIT~ ZELADA ORTIZ MARIA NELI~
## 8 SAN JUAN DE L~ REGIDOR DISTRIT~ ALONZO RAMIREZ EVELYN LIS~
## 9 SAN JUAN DE L~ REGIDOR DISTRIT~ HERQUINIO LUNA OSCAR NIEL
## 10 SAN JUAN DE L~ REGIDOR DISTRIT~ YAURICASA LUNA JOSE LUIS
## 11 SAN JUAN DE L~ REGIDOR DISTRIT~ USQUIANO AVILA SAÚL ANTON~
## 12 SAN JUAN DE L~ REGIDOR DISTRIT~ CAPCHA POMA PAVEL VLAD~
## 13 SAN JUAN DE L~ REGIDOR DISTRIT~ PUMACAYAHUA QUISPE PAMELA
## 14 SAN JUAN DE L~ REGIDOR DISTRIT~ CALDERON ZEVALLOS GIANCARLO
## 15 SAN JUAN DE L~ REGIDOR DISTRIT~ DE LA CRUZ MALCA HUGO MOISES
## 16 SAN JUAN DE L~ REGIDOR DISTRIT~ BALBIN OLIVERA NICOLAS
## # ... with 6 more variables: Organización Política <chr>,
## # Tipo Organización Política <chr>, Sexo <chr>, Year <chr>,
## # Votos obtenidos por la organización política <dbl>,
## # % Votos obtenidos por la organización política <dbl>
Una vez leídas nuestras bases de datos de los Candidatos, procedimos a ubicar la información disponible para San Juan de Lurigancho en cada una de las bases generales por año electoral. Para este conjunto de funciones, empleamos los pipes, representados en el símbolo %>% para obtener la información de los candidatos por año electoral. En primer lugar, creamos la tabla cand_dis2002 para consignar solo los datos sobre San Juan de Lurigancho de ese año electoral. Seguidamente, empleamos tres funciones en los bloques de código. Primero, filter para obtener solo la información de este distro de San Juan de Lurigancho; select, empleando el signo negativo “-” para quedarnos con las variables que son importantes que nos ayudarán a responder la segunda pregunta.. Finalmente, utilizamos mutate para asignar una columna nueva, que consigne el año electoral correspondiente a la información extraída según corresponda.
Aquí tenemos cuatro puntos a resaltar en el procesamiento y organización de la información:
1. Colocamos la palabra “Year”, vocablo en inglés para referirnos al año electoral. Muchas veces, la letra ñ del español podría generar confusión entre las funciones. 2. Esta columna agregada del año electoral servirá para después agrupar las bases en una sola de candidatos distritales. 3. Estas tres funciones fueron aplicadas a las cinco bases de datos de candidatos distritales para obtener la información de San Juan de Lurigancho cada año electoral. 4. Para recordar: la base cand_dis2018 tenía la variable llamada “Region” sin tilde, en cambio las otras bases del 2002 al 2014 tenían el nombre de la variable “Región” con tilde. Por ello, es necesario siempre observar el nombre específico de las variables que usa la base específica que vamos usar si es que la juntaremos con otras bases de la misma variable usando blind_rows.
cand_dis_SJL2002 <- cand_dis2002 %>%
filter(Distrito == "SAN JUAN DE LURIGANCHO") %>%
select(-`N°`, -`Región`, -`Provincia`, -`Joven`,-`Nativo`) %>%
mutate(Year = "2002")
cand_dis_SJL2002
## # A tibble: 249 x 9
## Distrito `Organización Pol~ `Tipo Organización~ Cargo `Primer apellid~
## <chr> <chr> <chr> <chr> <chr>
## 1 SAN JUAN DE~ ACCION POPULAR PARTIDO POLÍTICO ALCALDE~ ORELLANO
## 2 SAN JUAN DE~ ACCION POPULAR PARTIDO POLÍTICO REGIDOR~ DIOSES
## 3 SAN JUAN DE~ ACCION POPULAR PARTIDO POLÍTICO REGIDOR~ ALEJOS
## 4 SAN JUAN DE~ ACCION POPULAR PARTIDO POLÍTICO REGIDOR~ MARTINEZ
## 5 SAN JUAN DE~ ACCION POPULAR PARTIDO POLÍTICO REGIDOR~ SOTO
## 6 SAN JUAN DE~ ACCION POPULAR PARTIDO POLÍTICO REGIDOR~ RUIZ
## 7 SAN JUAN DE~ ACCION POPULAR PARTIDO POLÍTICO REGIDOR~ MENDOZA
## 8 SAN JUAN DE~ ACCION POPULAR PARTIDO POLÍTICO REGIDOR~ AJALCRIÑA
## 9 SAN JUAN DE~ ACCION POPULAR PARTIDO POLÍTICO REGIDOR~ AGUILAR
## 10 SAN JUAN DE~ ACCION POPULAR PARTIDO POLÍTICO REGIDOR~ CONDORI
## # ... with 239 more rows, and 4 more variables: Segundo apellido <chr>,
## # Prenombres <chr>, Sexo <chr>, Year <chr>
cand_dis_SJL2006 <- cand_dis2006 %>%
filter(Distrito == "SAN JUAN DE LURIGANCHO")%>%
select(-`N°`, -`Región`, -`Provincia`, -`Joven`,-`Nativo`) %>%
mutate(Year = "2006")
cand_dis_SJL2006
## # A tibble: 216 x 9
## Distrito `Organización Pol~ `Tipo Organización~ Cargo `Primer apellid~
## <chr> <chr> <chr> <chr> <chr>
## 1 SAN JUAN DE~ ACCION POPULAR PARTIDO POLÍTICO REGIDOR~ LEZCANO
## 2 SAN JUAN DE~ ACCION POPULAR PARTIDO POLÍTICO REGIDOR~ BOHORQUEZ
## 3 SAN JUAN DE~ ACCION POPULAR PARTIDO POLÍTICO REGIDOR~ GALINDO
## 4 SAN JUAN DE~ ACCION POPULAR PARTIDO POLÍTICO REGIDOR~ VASQUEZ
## 5 SAN JUAN DE~ ACCION POPULAR PARTIDO POLÍTICO REGIDOR~ MENA
## 6 SAN JUAN DE~ ACCION POPULAR PARTIDO POLÍTICO REGIDOR~ SEMINARIO
## 7 SAN JUAN DE~ ACCION POPULAR PARTIDO POLÍTICO REGIDOR~ LLANOS
## 8 SAN JUAN DE~ ACCION POPULAR PARTIDO POLÍTICO REGIDOR~ ROBLES
## 9 SAN JUAN DE~ ACCION POPULAR PARTIDO POLÍTICO REGIDOR~ HERMITAÑO
## 10 SAN JUAN DE~ ACCION POPULAR PARTIDO POLÍTICO REGIDOR~ RAMIREZ
## # ... with 206 more rows, and 4 more variables: Segundo apellido <chr>,
## # Prenombres <chr>, Sexo <chr>, Year <chr>
cand_dis_SJL2010 <- cand_dis2010 %>%
filter(Distrito == "SAN JUAN DE LURIGANCHO")%>%
select(-`N°`, -`Región`, -`Provincia`, -`Joven`,-`Nativo`) %>%
mutate(Year = "2010")
cand_dis_SJL2010
## # A tibble: 236 x 9
## Distrito `Organización Pol~ `Tipo Organización~ Cargo `Primer apellid~
## <chr> <chr> <chr> <chr> <chr>
## 1 SAN JUAN DE~ ACCION POPULAR PARTIDO POLÍTICO ALCALDE~ TORRES
## 2 SAN JUAN DE~ ACCION POPULAR PARTIDO POLÍTICO REGIDOR~ MENDOZA
## 3 SAN JUAN DE~ ACCION POPULAR PARTIDO POLÍTICO REGIDOR~ LLACUACHAQUI
## 4 SAN JUAN DE~ ACCION POPULAR PARTIDO POLÍTICO REGIDOR~ TICLLACURI
## 5 SAN JUAN DE~ ACCION POPULAR PARTIDO POLÍTICO REGIDOR~ VELARDE
## 6 SAN JUAN DE~ ACCION POPULAR PARTIDO POLÍTICO REGIDOR~ DELGADO
## 7 SAN JUAN DE~ ACCION POPULAR PARTIDO POLÍTICO REGIDOR~ QUISPE
## 8 SAN JUAN DE~ ACCION POPULAR PARTIDO POLÍTICO REGIDOR~ JACOBI
## 9 SAN JUAN DE~ ACCION POPULAR PARTIDO POLÍTICO REGIDOR~ INGA
## 10 SAN JUAN DE~ ACCION POPULAR PARTIDO POLÍTICO REGIDOR~ MAURICIO
## # ... with 226 more rows, and 4 more variables: Segundo apellido <chr>,
## # Prenombres <chr>, Sexo <chr>, Year <chr>
cand_dis_SJL2014 <- cand_dis2014 %>%
filter(Distrito == "SAN JUAN DE LURIGANCHO")%>%
select(-`N°`, -`Región`, -`Provincia`, -`Joven`,-`Nativo`) %>%
mutate(Year = "2014")
cand_dis_SJL2014
## # A tibble: 238 x 9
## Distrito `Organización Pol~ `Tipo Organización~ Cargo `Primer apellid~
## <chr> <chr> <chr> <chr> <chr>
## 1 SAN JUAN DE~ ACCION POPULAR PARTIDO POLÍTICO ALCALDE~ CALSINA
## 2 SAN JUAN DE~ ACCION POPULAR PARTIDO POLÍTICO REGIDOR~ PACHECO
## 3 SAN JUAN DE~ ACCION POPULAR PARTIDO POLÍTICO REGIDOR~ ALEJOS
## 4 SAN JUAN DE~ ACCION POPULAR PARTIDO POLÍTICO REGIDOR~ CHAMBI
## 5 SAN JUAN DE~ ACCION POPULAR PARTIDO POLÍTICO REGIDOR~ CCAHUANA
## 6 SAN JUAN DE~ ACCION POPULAR PARTIDO POLÍTICO REGIDOR~ IZQUIERDO
## 7 SAN JUAN DE~ ACCION POPULAR PARTIDO POLÍTICO REGIDOR~ MAGALLANES
## 8 SAN JUAN DE~ ACCION POPULAR PARTIDO POLÍTICO REGIDOR~ GUIMARAES
## 9 SAN JUAN DE~ ACCION POPULAR PARTIDO POLÍTICO REGIDOR~ AVALOS
## 10 SAN JUAN DE~ ACCION POPULAR PARTIDO POLÍTICO REGIDOR~ ARGANDOÑA
## # ... with 228 more rows, and 4 more variables: Segundo apellido <chr>,
## # Prenombres <chr>, Sexo <chr>, Year <chr>
cand_dis_SJL2018 <- cand_dis2018 %>%
filter(Distrito == "SAN JUAN DE LURIGANCHO")%>%
select(-`N°`, -`Region`, -`Provincia`, -`Joven`,-`Nativo`) %>%
mutate(Year = "2018")
cand_dis_SJL2018
## # A tibble: 304 x 9
## Distrito `Organización Pol~ `Tipo Organización~ Cargo `Primer apellid~
## <chr> <chr> <chr> <chr> <chr>
## 1 SAN JUAN DE~ SIEMPRE UNIDOS PARTIDO POLÍTICO ALCALDE~ BECERRA
## 2 SAN JUAN DE~ SIEMPRE UNIDOS PARTIDO POLÍTICO REGIDOR~ LEVANO
## 3 SAN JUAN DE~ SIEMPRE UNIDOS PARTIDO POLÍTICO REGIDOR~ LOPEZ
## 4 SAN JUAN DE~ SIEMPRE UNIDOS PARTIDO POLÍTICO REGIDOR~ VALDIVIA
## 5 SAN JUAN DE~ SIEMPRE UNIDOS PARTIDO POLÍTICO REGIDOR~ MAMANI
## 6 SAN JUAN DE~ SIEMPRE UNIDOS PARTIDO POLÍTICO REGIDOR~ QUINTO
## 7 SAN JUAN DE~ SIEMPRE UNIDOS PARTIDO POLÍTICO REGIDOR~ TUMBALOBOS
## 8 SAN JUAN DE~ SIEMPRE UNIDOS PARTIDO POLÍTICO REGIDOR~ CARRION
## 9 SAN JUAN DE~ SIEMPRE UNIDOS PARTIDO POLÍTICO REGIDOR~ MONTENEGRO
## 10 SAN JUAN DE~ SIEMPRE UNIDOS PARTIDO POLÍTICO REGIDOR~ ÑACARI
## # ... with 294 more rows, and 4 more variables: Segundo apellido <chr>,
## # Prenombres <chr>, Sexo <chr>, Year <chr>
En este bloque de códido usamos la función bind_rows que nos permitió juntas las cinco (5) bases de datos y consolidarlas en una sola tabla para facilitar el análisis de la misma. Así la tabla Aut_Mun_SJL contiene la información de las autoridades municipalesde San Juan de Lurigancho de los cinco años electorales de 2002, 2006, 2010, 2014, y 2018.
Aut_Mun_SJL <- autoridades_municipales_SJL2002 %>%
bind_rows(autoridades_municipales_SJL2006) %>%
bind_rows(autoridades_municipales_SJL2010) %>%
bind_rows(autoridades_municipales_SJL2014) %>%
bind_rows(Nueva_baseAD2018)
Aut_Mun_SJL
## # A tibble: 80 x 11
## Distrito `Cargo electo` `Primer apellid~ `Segundo apelli~ Prenombres
## <chr> <chr> <chr> <chr> <chr>
## 1 SAN JUAN DE ~ ALCALDE DISTRIT~ RABANAL TORRES MAURICIO
## 2 SAN JUAN DE ~ REGIDOR DISTRIT~ CULQUI GALLARDO SEGUNDO CAR~
## 3 SAN JUAN DE ~ REGIDOR DISTRIT~ OTAROLA DE LA TORRE MAGDA MONICA
## 4 SAN JUAN DE ~ REGIDOR DISTRIT~ JORGE ZANABRIA BADIMILO IG~
## 5 SAN JUAN DE ~ REGIDOR DISTRIT~ CANDELA QUISPE LUIS ALBERTO
## 6 SAN JUAN DE ~ REGIDOR DISTRIT~ GARCIA RICHARDZON TEODULO PAT~
## 7 SAN JUAN DE ~ REGIDOR DISTRIT~ PALOMINO VASQUEZ ROCIO
## 8 SAN JUAN DE ~ REGIDOR DISTRIT~ CARPIO SOTO NESTOR NEPT~
## 9 SAN JUAN DE ~ REGIDOR DISTRIT~ ROJAS CAMACHO OSCAR TEOBA~
## 10 SAN JUAN DE ~ REGIDOR DISTRIT~ GUIDO QUINTANA CESAR
## # ... with 70 more rows, and 6 more variables: Organización Política <chr>,
## # Tipo Organización Política <chr>, Sexo <chr>,
## # Votos obtenidos por la organización política <dbl>,
## # % Votos obtenidos por la organización política <dbl>, Year <chr>
A partir de la base Aut_Mun_SJL que da cuenta de las autoridades municipales de San Juan de Lurigancho, empleamos el bloque de código para obtener el número de votos y porcentaje de votación de los alcaldes ganadores por año electoral. Para ello, hemos utilizado select para quedarnos con las variables más relevantes para el análisis posterior: cargo elector, prenombres, primer apellido, oranización política, tipo de organización política, porcentaje de votos obtenidos por la organización políticas y el año electoral (Year). Seguidamente, filtramos (filter) la información de los alcaldes distritales elegidos en la variable de CARGO ELECTO.
En este bloque de código, ejecutamos la función mutate para convertir los resultados decimales en resultados porcentuales de dos dígitos. Primero, la nueva variable tendrá el nombre de “% de votos”. Multiplicaremos la información decimal por 100. Finalmente, empleando la función round, obtenemos los datos en porcentaje con dos decimales. La función select, en la utilización del signo - nos sirve para solo quedarnos los datos de “% de votos” en la tabla.
Primer_lugar_AlcaldeSJL <- Aut_Mun_SJL %>%
select(`Cargo electo`, `Prenombres`, `Primer apellido`, `Organización Política`, `Tipo Organización Política`, `% Votos obtenidos por la organización política`, `Year`) %>%
filter(`Cargo electo` == "ALCALDE DISTRITAL") %>%
mutate(`% de votos` = `% Votos obtenidos por la organización política`* 100) %>%
mutate(`% de votos` = round(`% de votos`, 2)) %>%
select(-`% Votos obtenidos por la organización política`)
Primer_lugar_AlcaldeSJL
## # A tibble: 5 x 7
## `Cargo electo` Prenombres `Primer apellid~ `Organización P~ `Tipo Organizac~
## <chr> <chr> <chr> <chr> <chr>
## 1 ALCALDE DISTRI~ MAURICIO RABANAL PARTIDO DEMOCRA~ PARTIDO POLÍTICO
## 2 ALCALDE DISTRI~ CARLOS JOSE BURGOS ALIANZA ELECTOR~ ALIANZA ELECTOR~
## 3 ALCALDE DISTRI~ CARLOS JOSE BURGOS PARTIDO POPULAR~ PARTIDO POLÍTICO
## 4 ALCALDE DISTRI~ JUAN VALEN~ NAVARRO ALIANZA PARA EL~ PARTIDO POLÍTICO
## 5 ALCALDE DISTRI~ ALEX GONZALES PODEMOS POR EL ~ PARTIDO POLÍTICO
## # ... with 2 more variables: Year <chr>, % de votos <dbl>
En este bloque de código, estamos empleando la tabla anterior Primer_lugar_AlcaldeSJL. Con pipes, utilizamos la función mutate para que R puede leer la variable Year como un integer. Seguidamente, utilizamos la misma función para que cambiar el nombre de la variable Year a Año Electoral. Para realizar el gráfico, para obtener una gráfico emplamos la función ggplot, asignando el Año electoral en el eje x y los porcentajes obtenidos en el eje y. Empleamos la función geom_line para tener para tener un gráfico de la evolución en las cinco elecciones elecotrales. Asignamos el colour = red para obtener el color rojo de la línea.
En esto gráfico, quisimos que cada año electoral corresponda al porcentaje obtenido por el alcalde distrital de ese año. Por ello, empleamos la función scale_x_continuous y asignamos breaks, detallando los años electorales. Finalmente, la función geom_label permitió colocar el como etiqueta o label el porcentaje de los votos obtenidos. Seguidamente, empleamos labs para asignar un título y un subtítulo al gráfico, y empleamos el theme_stata para la forma final del mismo.
Primer_lugar_AlcaldeSJL %>%
mutate(Year = as.integer(Year)) %>%
mutate(`Año electoral` = Year) %>%
ggplot(aes(`Año electoral`, `% de votos`)) +
geom_line(colour = "red") +
scale_x_continuous(breaks = c(2002, 2006, 2010, 2014, 2018)) +
geom_label(aes(label = `% de votos`)) +
labs(title = "Evolución del voto obtenido para alcalde distrital SJL por año electoral",
subtitle = "San Juan de Lurigancho: cinco elecciones municipales") +
theme_stata()
## Tabla comparativa y de forma descendiente (mayor a menor)
Para responder la subpregunta, empleamos el siguiente bloque de código con pipes para obtener la Tabla_comparativa_D: mutate para que los datos de la variable Year puedan ser leída como integer (número). Luego, empleamos arrange y desc a la variable para % de votos para que obtener una tabla que comience con el mayor número porcentual y concluya con el menor (de mayor a menor)
Tabla_comparativa_D <- Primer_lugar_AlcaldeSJL %>%
mutate(Year = as.integer(Year)) %>%
arrange(desc(`% de votos`))
Tabla_comparativa_D
## # A tibble: 5 x 7
## `Cargo electo` Prenombres `Primer apellid~ `Organización P~ `Tipo Organizac~
## <chr> <chr> <chr> <chr> <chr>
## 1 ALCALDE DISTRI~ MAURICIO RABANAL PARTIDO DEMOCRA~ PARTIDO POLÍTICO
## 2 ALCALDE DISTRI~ JUAN VALEN~ NAVARRO ALIANZA PARA EL~ PARTIDO POLÍTICO
## 3 ALCALDE DISTRI~ CARLOS JOSE BURGOS PARTIDO POPULAR~ PARTIDO POLÍTICO
## 4 ALCALDE DISTRI~ CARLOS JOSE BURGOS ALIANZA ELECTOR~ ALIANZA ELECTOR~
## 5 ALCALDE DISTRI~ ALEX GONZALES PODEMOS POR EL ~ PARTIDO POLÍTICO
## # ... with 2 more variables: Year <int>, % de votos <dbl>
En este bloque de códido, usamos bind_rows para juntas las cinco (5) bases de datos sobre la información disponible para San Juan de Lurigancho, y facilitar la lectura y análisis de la misma.
Candidatos_Dis_SJL <- cand_dis_SJL2002 %>%
bind_rows(cand_dis_SJL2006) %>%
bind_rows(cand_dis_SJL2010) %>%
bind_rows(cand_dis_SJL2014) %>%
bind_rows(cand_dis_SJL2018)
Candidatos_Dis_SJL
## # A tibble: 1,243 x 9
## Distrito `Organización Pol~ `Tipo Organización~ Cargo `Primer apellid~
## <chr> <chr> <chr> <chr> <chr>
## 1 SAN JUAN DE~ ACCION POPULAR PARTIDO POLÍTICO ALCALDE~ ORELLANO
## 2 SAN JUAN DE~ ACCION POPULAR PARTIDO POLÍTICO REGIDOR~ DIOSES
## 3 SAN JUAN DE~ ACCION POPULAR PARTIDO POLÍTICO REGIDOR~ ALEJOS
## 4 SAN JUAN DE~ ACCION POPULAR PARTIDO POLÍTICO REGIDOR~ MARTINEZ
## 5 SAN JUAN DE~ ACCION POPULAR PARTIDO POLÍTICO REGIDOR~ SOTO
## 6 SAN JUAN DE~ ACCION POPULAR PARTIDO POLÍTICO REGIDOR~ RUIZ
## 7 SAN JUAN DE~ ACCION POPULAR PARTIDO POLÍTICO REGIDOR~ MENDOZA
## 8 SAN JUAN DE~ ACCION POPULAR PARTIDO POLÍTICO REGIDOR~ AJALCRIÑA
## 9 SAN JUAN DE~ ACCION POPULAR PARTIDO POLÍTICO REGIDOR~ AGUILAR
## 10 SAN JUAN DE~ ACCION POPULAR PARTIDO POLÍTICO REGIDOR~ CONDORI
## # ... with 1,233 more rows, and 4 more variables: Segundo apellido <chr>,
## # Prenombres <chr>, Sexo <chr>, Year <chr>
La segunda pregunta se trata de: ¿Cuántos candidatos al cargo de alcalde municipal/organizaciones políticas se presentaron por año electoral? Sabemos que las variables que necesitamos son las de Cargo y Year o año electoral. Para ello, en el bloque de código, creamos una nueva tabla Candidatos_Alcaldes0218, y extraemos la información disponible de la tabla Candidatos_Dis_SJL. Empleamos pipes para continuar con otras funciones. Seguidamente empleamos filter para obtener la información de Alcalde distrital. Finalmente, usamos select para quedarnos con cuatro variables: Organización Política, Tipo de Organización Política, Cargo y Year.
Con la tabla Candidatos_Alcaldes0218 vamos a trabajar dos cosas. Primero, el número absoluto de organizaciones políticas que se presentaron a las elecciones municipales del 2002 al 2018. Segundo, el tipo de organización política por año electoral.
Candidatos_Alcaldes0218 <- Candidatos_Dis_SJL %>%
filter(Cargo == "ALCALDE DISTRITAL") %>%
select(`Organización Política`, `Tipo Organización Política`, Cargo, Year)
Candidatos_Alcaldes0218
## # A tibble: 77 x 4
## `Organización Política` `Tipo Organización Po~ Cargo Year
## <chr> <chr> <chr> <chr>
## 1 ACCION POPULAR PARTIDO POLÍTICO ALCALDE D~ 2002
## 2 SIEMPRE UNIDOS PARTIDO POLÍTICO ALCALDE D~ 2002
## 3 PARTIDO DEMOCRATICO SOMOS PERU PARTIDO POLÍTICO ALCALDE D~ 2002
## 4 FUERZA DEMOCRATICA PARTIDO POLÍTICO ALCALDE D~ 2002
## 5 PARTIDO RENACIMIENTO ANDINO PARTIDO POLÍTICO ALCALDE D~ 2002
## 6 PARTIDO APRISTA PERUANO PARTIDO POLÍTICO ALCALDE D~ 2002
## 7 MOVIMIENTO NUEVA IZQUIERDA PARTIDO POLÍTICO ALCALDE D~ 2002
## 8 PERU POSIBLE PARTIDO POLÍTICO ALCALDE D~ 2002
## 9 AGRUPACION INDEPENDIENTE UNION POR E~ PARTIDO POLÍTICO ALCALDE D~ 2002
## 10 PARTIDO POLITICO NACIONAL PRIMERO PE~ PARTIDO POLÍTICO ALCALDE D~ 2002
## # ... with 67 more rows
En este bloque de código, creamos la tabla Nro.Cand_Alcaldes0218. Tomamos en cuenta la información disponsible de la tabla Candidatos_Alcaldes0218. Usando pipes, primero empleamos mutate para Year se convierta en Año Electoral. Seguidamente, empleamos select para escoger las variables de Cargo y Año electoral; agrupamos con la función group_by el Año electoral y Cargo; y empleamos la función summarise para tener el número de candidatos/agrupaciones políticas. Finalmente, desagrupamos con ungroup.
Nro.Cand_Alcaldes0218 <- Candidatos_Alcaldes0218 %>%
mutate(`Año electoral` = Year) %>%
select(Cargo, `Año electoral`) %>%
group_by(`Año electoral`, Cargo) %>%
summarise(Nro.Candidatos_AgrupPo = n()) %>%
ungroup()
## `summarise()` has grouped output by 'Año electoral'. You can override using the `.groups` argument.
La tabla Nro.Cand_Alcaldes0218 muestra el año electoral, el cargo y el número de candidatos/agrupaciones políticas que participaron en cada una elección municipal.
Nro.Cand_Alcaldes0218
## # A tibble: 5 x 3
## `Año electoral` Cargo Nro.Candidatos_AgrupPo
## <chr> <chr> <int>
## 1 2002 ALCALDE DISTRITAL 16
## 2 2006 ALCALDE DISTRITAL 12
## 3 2010 ALCALDE DISTRITAL 15
## 4 2014 ALCALDE DISTRITAL 15
## 5 2018 ALCALDE DISTRITAL 19
En este bloque de código, trabajamos con pipes para extraer información de la tabla Nro.Cand_Alcaldes0218. Primero, empleamos mutate para que la variable Año Electoral sea leído por R como integer. Seguidamente, utilizamos la función ggplot para establecer el año electoral en el eje x y Nro.Candidatos en el eje y. Escogemos geom_line para observar la evolución de este número en los años electorales 2002, 2006, 2010, 2014, 2018. Asignamos en esta función colour red para obtener el color rojo. Seguidamente, empleamos scale_x_continuous para indican donde separan las líneas divisorias respecto a los años electorales mencionados líneas arriba. La función geom_label es útil para colocar la etiqueta de la información disponible en la variable Nro.Candidatos. Para la forma del gráfico, empleamos labs para asignar el título y el subtítulo. Finalmente, escogemos theme_stata para dar la forma final al gráfico.
G_Nro.Cand_Alcaldes0218 <- Nro.Cand_Alcaldes0218 %>%
mutate(`Año electoral`= as.integer(`Año electoral`)) %>%
ggplot(aes(`Año electoral`, Nro.Candidatos_AgrupPo)) +
geom_line(colour = "red") +
scale_x_continuous(breaks = c(2002, 2006, 2010, 2014, 2018)) +
geom_label(aes(label = Nro.Candidatos_AgrupPo)) +
labs(title = "Evolución del número de organización políticas",
subtitle = "San Juan de Lurigancho: cinco elecciones municipales") +
theme_stata()
G_Nro.Cand_Alcaldes0218
En la tabla Candidatos_Alcaldes0218, la variable de tipos de organización política presenta partido político, alianza electoral y organización local (distrital o provincial). Creamos la tabla Tipo_org_pol0218 y utilizamos pipes para asignar group_by por Year y Tipo Organización Política. Seguidamente, empleamo la función summarise, y escribimos el nombre Nro_Org. para hacer el recuento del tipo de organizaciones políticas por año electoral. Finalmente, empleamos ungroup para el desagrupar los datos.
Tipo_org_pol0218 <- Candidatos_Alcaldes0218 %>%
group_by(Year, `Tipo Organización Política`) %>%
summarise(Nro_Org = n()) %>%
ungroup()
## `summarise()` has grouped output by 'Year'. You can override using the `.groups` argument.
Tipo_org_pol0218 es la tabla que describe el año electoral, el tipo de organización y el recuento de cada uno de los tipos existentes.
Tipo_org_pol0218
## # A tibble: 11 x 3
## Year `Tipo Organización Política` Nro_Org
## <chr> <chr> <int>
## 1 2002 ALIANZA ELECTORAL 1
## 2 2002 LISTA INDEPENDIENTE 3
## 3 2002 PARTIDO POLÍTICO 12
## 4 2006 ALIANZA ELECTORAL 2
## 5 2006 ORGANIZACION LOCAL (DISTRITAL) 2
## 6 2006 PARTIDO POLÍTICO 8
## 7 2010 ORGANIZACION LOCAL (DISTRITAL) 1
## 8 2010 PARTIDO POLÍTICO 14
## 9 2014 ORGANIZACIÓN LOCAL (PROVINCIAL) 1
## 10 2014 PARTIDO POLÍTICO 14
## 11 2018 PARTIDO POLÍTICO 19
En este bloque de código, trabajamos con pipes para extraer información de la tabla Tipo_org_pol0218 . Primero, empleamos mutate para la variable *Year se convierta en Año Electoral. Seguidamente, empleamos nuevamente esta función para que la variable Año Electoral sea leído por R como integer. Utilizamos la función ggplot para establecer el año electoral en el eje x y Nro_Org en el eje y. En esta función añadimos fill para modificar el relleno de la figura, asignándole el Tipo de Organización Política. Para el tipo de gráfico, escogemos geom_col que nos permitirá obtener un gráfico de barras de diferentes colores de acuerdo al Nro_Org por año electoral. Empleamos scale_x_continuous para indican donde separan las líneas divisorias respecto a los años electorales desde el 2002 hasta el 2018. Volvemos a usar la función scale_x_continuous para separa la líneas divisorias del eje “y” desde el 0 hasta el 20. Finalmente, empleamos labs para asignar el título y el subtítulo en el gráfico final. Escogemos theme_stata** para establecer la forma final al gráfico.
Gra_Tipo_org_pol0218 <- Tipo_org_pol0218 %>%
mutate(`Año electoral` = Year) %>%
mutate(`Año electoral`= as.integer(`Año electoral`))%>%
ggplot(aes(`Año electoral`, Nro_Org, fill = `Tipo Organización Política`)) +
geom_col() +
scale_x_continuous(breaks = c(2002, 2006, 2010, 2014, 2018)) +
scale_y_continuous(breaks = c(0:20)) +
labs(title = "Tipo de organizaciones políticas",
subtitle = "San Juan de Lurigancho: cinco elecciones municipales") +
theme_clean()
Gra_Tipo_org_pol0218
Respecto a la primera pregunta, la evolución del voto obtenido para alcalde distrital SJL por año electoral tenía una tendencia más o menos estable entre el rango de la primera elección de 2002 y la cuarta del 2014. En 2002, el alcalde municipal Mauricio Rabanal obtuvo un porcentaje cerca al 30 por ciento de los votos válidos (28.98%). En las dos elecciones municipales siguientes del 2006 y 2010, aún regía la normativa que permitía la reelección inmediata de las autoridades ediles locales. Este fue el caso del exalcade Carlos Burgos, siendo alcalde para esos dos periodos. En 2006, Carlos Burgos obtuvo 25%, subiendo en 2.65% en el 2010 (27.65%). El Congreso de la República aprobó una ley en marzo de 2015 que reformó tres artículos 191°, 194° y 203° de la Constitución Política del Perú, prohibiendo la reelección inmediata de alcaldes municipales, provinciales y gobernadores (en este tiempo llamados “presidentes regionales”).
Para el 2014, Juan Navarro obtuvo el 28.97%, otra vez un porcentaje cercano al 30% nuevamente. Hasta este punto, estos datos generan preocupación en función a la legitimidad de estos alcaldes frente al electorado que respalda, porque no llega al 30% ni ha avanzado en cuatro procesos electorales. En la última elección, el porcentaje obtenido baja al 15.4% de los votos válidos. En respuesta a la subpregunta, la tabla comparativa muestra que el mayor valor de 28.98% fue en el 2002, el segundo valor de 28.97% en 2014, el tercer valor de 27.65 en 2010, el cuarto valor de 25% en 2006. El último porcentaje corresponde a la última elección municipal del año 2018 para periodo vigente de 2019-2022. Alex Gonzales ganó con el 15.4% de los votos válidos, un punto porcentual arriba de la mitad del resultado anterior. Este resultado es muy preocupante y genera otra pregunta para el análisis posterior: ¿Para quién o quiénes gobierna el alcalde de San Juan de Lurigancho?
Para los electores e investigadores, es una característica común tener una cédula de votación extensa, ya sea para las elecciones presidenciales, regionales, provinciales o distritales. En el caso de las listas de candidatos para San Juan de Lurigancho, podemos decir que ha habido una tendencia al aumento de candidaturas. En el tiempo, la elección municipal del 2002 tuvo 16 listas en disputa. Sin embargo, para 2006 solo se presentaron 6 organizaciones políticas. En las elecciones del 2010 y 2014, el número de organizaciones política creció a 15 en ambos años electorales. Sin embargo, el número creció a 19 organizaciones políticas en la última elección municipal de 2018.
Este último año electoral 2018, es especialmente importante notar en comparación al primer resultado con el resultado porcentual alcanzado por el alcalde distrital en 2018 en comparación con el número de candidaturas y el porcentaje de votos obtenidos por los ganadores en los otros años electorales. Pareciera ser que mientras más organizaciones políticas se presenten a la contienda electoral, menor porcentaje obtiene el alcalde distrital. En 2014, 15 organizaciones políticas estuvieron en contienda, y el porcentaje obtenido por el ganador fue de 27.65%. En cambio, en 2018, el candidato ganador obtuvo 15.4% de los votos válidos en una contienda de 19 organizaciones políticas.
Otro punto importante para resaltar, son los tipos de organizaciones políticas en cada una de las elecciones municipales. La tabla y gráfico sobre el tipo de organizaciones política muestra las diferencias en su participación, y cómo esta ha variado año tras año electoral. En la elección de 2002, hubo más variedad de organizaciones políticas, ya que se presentaron 12 partidos políticos, 3 listas independientes y 1 alianza electoral. Para el 2006, también primó la participación de los partidos políticos, y se presentaron 2 organizaciones locales (distrital) y 2 alianzas electorales. En 2010, el número de partidos políticos creció a 14, y solo se presentó una organización local (distrital). En 2014, también hubo 14 partidos políticos en contienda, y solo 1 organización local (provincial). En la última elección, la totalidad (19) de organizaciones políticas fueron partidos políticos.
Para la Ley de Elecciones Municipales, Ley N° 26864 (Publicada el 14 de Octubre de 1997), el Artículo 9 sobre la inscripción de agrupaciones políticas y alianzas electorales subraya que: “Las Organizaciones Políticas y Alianzas Electorales locales solo podrán participar en la circunscripción para la cual solicitaron su inscripción acreditando una relación de adherentes no menor a dos punto cinco por ciento (2.5%) del total de electores hábiles de su respectiva circunscripción.”
Para la Ley de Partidos Políticos, Ley N° 28094 (publicada el 1 de noviembre de 2003). El TÍTULO III, sobre la Constitución y Reconocimiento de los Movimientos y Organizaciones políticas de alcance local subraya en el artículo 17° sobre los Movimientos y Organizaciones Políticas de alcance local que debe cumplir con este requisito de la relación de adherentes en número no menor del tres por ciento (3%) de los ciudadanos que sufragaron en las últimas elecciones de carácter nacional, dentro de la circunscripción en la que el movimiento u organización política local desarrolle sus actividades y pretenda presentar candidatos”.
La Ley de Organizaciones Políticas (23/12/2015) modificó el porcentaje del requisito anterior a 5%, pidiendo como requisito que “la relación de adherentes en número no menor del cinco por ciento (5%) de los ciudadanos que sufragaron en las últimas elecciones de carácter nacional, dentro de la circunscripción en la que el movimiento u organización política local desarrolle sus actividades y pretenda presentar candidatos.
Si bien el cambio en la normativa ha significado una valla más alta para que las organizaciones políticas locales (provinciales o locales) vean restringida su participación. Aquello no ha reducido la cantidad de partidos políticos para las elecciones municipales. A primera vista, podríamos hablar del repunte de los partidos políticos. Sin embargo, esta tendencia tiene ver con el cambio en la legislación de las organizaciones políticas. Si bien el artículo 1° de la Ley N° 30414, modifica el título de la anterior Ley de Partidos Políticos a Ley de Organizaciones Políticas” (23/12/2015). Es necesario entender aquí una ruta importante con relación a la constitución y reconocimiento de los movimientos y organizaciones políticas de alcance local**.