1 Introducción

Vamos a analizar la distribución de los gastos de campaña para las elecciones federales de 2021.

La información que vamos a utilizar se puede descargar en las siguientes ligas:

Para el anális las librerías que vamos a ocupar son

library(dplyr)
library(reactable)
library(ggplot2)
library(plotly)

1.1 Cómputos distritales

En el caso de la base de datos para los cómputos distritales, éstos vienen desagregadas a nivel casilla.

computos <- read.csv("diputaciones.csv", header=T)
dim(computos)
## [1] 163666     38

La base se compone de 163666 casillas y 38 variables. Mostramos las primeras casillas de la base de datos

Nuestro interés es analizar cómo los candidatos ganadores distribuyeron el financiamiento recibido por el INE, por lo que agregamos los votos a nivel distrito federal.

Obtenemos los totales por partidos y coalición a partir del nombre de las variables

partidos  <- c("PAN","PRI","PRD","PVEM",'PT','MC','MORENA','PES','RSP',
               'FXM','CI','PAN.PRI.PRD','PAN.PRI','PAN.PRD','PRI.PRD',
               'PVEM.PT.MORENA','PVEM.PT','PVEM.MORENA','PT.MORENA',
               'CNR','VOTOS_NULOS')

Después generamos una llave única por distrito federal, construida a partir del nombre de la entidad y número de distrito dentro de la entidad

computos$key <- paste0(computos$NOMBRE_ESTADO, computos$ID_DISTRITO)

var       <- c('key')
computos2 <- computos %>% select(all_of(c(var,partidos))) %>%
              group_by(key) %>% 
              summarise_at(vars(PAN:VOTOS_NULOS),sum,na.rm=T)

Mostramos la información agregada para los primeros distritos federales

1.2 Gastos de campaña

En el caso de la base de datos de los gastos de campaña, éstos se reportaron por candidato.

Para hacer el match de la base de cómputos y gastos creamos, en la base de datos de gastos, la llave creada con el nombre de la entidad y número de distrito federal

gastos$key <- paste0(gastos$ESTADO.ELECCION, gastos$DTTO)

Así por ejemplo para la base de datos de gastos, la llave VERACRUZ1 indica las candidaturas aprobadas en el distrito 1 de Veracruz.

gastos[gastos$key=="VERACRUZ1",'SUJETO.OBLIGADO']
## [1] "MOVIMIENTO CIUDADANO"        "VA POR MEXICO"              
## [3] "PARTIDO ENCUENTRO SOLIDARIO" "REDES SOCIALES PROGRESISTAS"
## [5] "JUNTOS HACEMOS HISTORIA"     "FUERZA POR MÉXICO"

2 Preparación de los datos

Una vez agregado los votos por distrito federal programamos una función para obtener la candidatura ganadora, por mayoría relativa, y el número de votos obtenidos .

La distribución de ganadores por coalición o partido se muestra en la siguiente gráfica

Una vez definido el candidato ganador hacemos el match con sus gastos de campaña

2.1 El costo de un voto

Para cuantificar el costo de cada voto ajustamos el siguiente modelo de regresión

model <- lm(num.votos~TOTAL.GASTOS , data = computos3)

summary(model)
## 
## Call:
## lm(formula = num.votos ~ TOTAL.GASTOS, data = computos3)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -58447 -17715  -3868  13510 223583 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  5.478e+04  7.134e+03   7.678 2.33e-13 ***
## TOTAL.GASTOS 3.182e-02  7.117e-03   4.471 1.11e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 29660 on 298 degrees of freedom
## Multiple R-squared:  0.06286,    Adjusted R-squared:  0.05971 
## F-statistic: 19.99 on 1 and 298 DF,  p-value: 1.109e-05

Y obtenemos la ecuación de la recta ajustada por la regresión

Del modelo ajustado se estima que de cada $1,000 gastados en campañana se obtienen 30 votos.

Por otra parte si ahora consideramos los gastos considerando la coalición y partido

De esta gráfica se observa que la campañana menos redituable fue el pri, pues fue el partido que gastó más sin que esto se tradujera en más votos.

Esto implica la necesidad de hacer un análisis específico por partido ó coalición.

2.2 Otras fuente de gastos

En la base de datos de gastos tenemos la distribución de gastos por candidato, en la siguiente gráfica se muestra algunas gráficas de dispersión de acuerdo con el rubro del tipo de gasto realizado