El Salvador arrastra una historia de violencia que atraviesa todo el siglo XX y se profundiza en el XXI. La guerra civil (1980-1992) dejó más de 75,000 muertos y sentó las bases de una sociedad fragmentada. Los Acuerdos de Paz de Chapultepec (1992) pusieron fin al conflicto armado pero no resolvieron las condiciones estructurales de desigualdad, exclusión y debilidad institucional.
En la posguerra, El Salvador experimentó una transición democrática que alternó el poder entre los dos partidos surgidos del conflicto: ARENA (derecha, heredera del proyecto contrainsurgente) y el FMLN (izquierda, antigua guerrilla). Sin embargo, esta democratización formal coexistió con el surgimiento de las pandillas o “maras” —principalmente la MS-13 y el Barrio 18— que convirtieron al país en uno de los más violentos del mundo. Para 2015, El Salvador alcanzó una tasa de 103 homicidios por cada 100,000 habitantes, la más alta a nivel global.
En este contexto de violencia endémica y desencanto con los partidos tradicionales, Nayib Bukele ganó la presidencia en 2019 con el 53% de los votos, rompiendo el bipartidismo que había dominado la política salvadoreña durante casi tres décadas. Bukele, un político joven con manejo estratégico de redes sociales, se presentó como la antítesis del sistema político tradicional.
El punto de inflexión llegó el 27 de marzo de 2022, cuando una ola de 87 homicidios en un solo fin de semana llevó al gobierno a declarar un régimen de excepción que suspendió garantías constitucionales fundamentales: el derecho de asociación, el derecho a ser informado de los motivos de la detención, el acceso a un abogado, y la inviolabilidad de las comunicaciones. Este régimen, que constitucionalmente debía durar 30 días, ha sido prorrogado de manera continua y permanece vigente hasta la fecha de la encuesta (2023).
Bajo el régimen de excepción, el gobierno implementó una política de encarcelamiento masivo que ha llevado a más de 75,000 personas a prisión —aproximadamente el 1.1% de la población total del país—. El Salvador pasó a tener la tasa de encarcelamiento más alta del mundo. Los resultados en términos de reducción de homicidios han sido dramáticos: la tasa cayó de 103 en 2015 a menos de 8 por cada 100,000 habitantes en 2023.
Este escenario plantea una tensión clásica en teoría política que trasciende el caso salvadoreño: ¿puede la legitimidad democrática construirse sobre resultados tangibles (seguridad) más que sobre procedimientos institucionales (representación, garantías, división de poderes)?
Organizaciones como Human Rights Watch, Amnistía Internacional y la CIDH han documentado detenciones arbitrarias, muertes bajo custodia estatal, y violaciones sistemáticas al debido proceso. Sin embargo, las encuestas muestran niveles de aprobación presidencial superiores al 80%, y el propio Latinobarómetro 2023 registra que El Salvador es el país de América Latina donde más ciudadanos creen que “el país progresa”.
Este aparente consenso ciudadano en torno al modelo Bukele invita a preguntarse: ¿qué están evaluando los salvadoreños cuando dicen estar “satisfechos con la democracia”? ¿Valoran los procedimientos democráticos tradicionales o los resultados concretos en materia de seguridad?
¿En qué medida la satisfacción con la democracia en El Salvador está asociada a la confianza en instituciones de seguridad (Presidente, Fuerzas Armadas) versus instituciones representativas tradicionales (Congreso, partidos políticos)?
La satisfacción con la democracia en El Salvador está más fuertemente asociada a la confianza en instituciones vinculadas al modelo de seguridad (Presidente y Fuerzas Armadas) que a la confianza en instituciones de representación tradicional (Congreso y partidos políticos).
Esta hipótesis se sustenta en la idea de que, en contextos de violencia crónica, las necesidades inmediatas —particularmente la seguridad física— adquieren primacía sobre valores democráticos abstractos como la representación plural o el equilibrio de poderes. Los ciudadanos estarían dispuestos a intercambiar garantías procedimentales por resultados tangibles, configurando lo que podríamos llamar una legitimidad democrática por resultados o, en términos más críticos, un autoritarismo competitivo con apoyo popular.
Este análisis es relevante por tres razones:
Teórica: Contribuye al debate sobre los fundamentos de la legitimidad democrática y la tensión entre democracia procedimental y sustantiva.
Comparativa: El modelo Bukele ha generado interés en otros países de la región (Ecuador, Honduras, Perú) como posible solución a problemas de inseguridad, lo que hace urgente comprender sus bases de apoyo.
Normativa: Entender qué valoran los ciudadanos cuando evalúan la democracia es fundamental para cualquier proyecto de fortalecimiento democrático en la región.
# Librerías necesarias
library(tidyverse)
library(readxl)
library(broom)
library(car)
library(ggcorrplot) # Para matriz de correlaciones con ggplot2
library(knitr)
library(kableExtra)
library(GGally)
library(scales) # Para formateo de ejes# Cargar datos de Latinobarómetro 2023 - El Salvador
datos_raw <- read_excel("/Users/lorenaumana/Desktop/Curso R/datos/F00018433-Latinobarometro_2023_El_Salvador_Excel_eng_v1.xlsx")
# Dimensiones originales
cat("Dimensiones originales:", dim(datos_raw)[1], "casos x", dim(datos_raw)[2], "variables\n")## Dimensiones originales: 1000 casos x 301 variables
# Seleccionar y renombrar variables de interés
datos <- datos_raw %>%
select(
# Variable dependiente
satisf_demo = `P11STGBS.A: Satisfacción con la democracia`,
# Instituciones de SEGURIDAD (hipótesis principal)
conf_presidente = `P13ST.I: Confianza en el Presidente`,
conf_ffaa = `P13STGBS.A: Confianza en las Fuerzas Armadas`,
# Instituciones REPRESENTATIVAS tradicionales
conf_congreso = `P13ST.D: Confianza en el Congreso`,
conf_partidos = `P13ST.G: Confianza en los Partidos Políticos`,
# Variables de control
edad = `EDAD: Edad`,
sexo = `SEXO: Sexo entrevistado`,
# Variables contextuales adicionales
sit_economica = `P5STGBS: Situación económica actual del país`,
imagen_progreso = `P2ST: Imagen de progreso del país`
)# Recodificar valores perdidos (-1 = No sabe, -2 = No responde)
datos_clean <- datos %>%
mutate(across(everything(), ~na_if(., -1))) %>%
mutate(across(everything(), ~na_if(., -2))) %>%
mutate(across(everything(), ~na_if(., -5))) # Algunos usan -5
# Invertir escalas para que valores ALTOS = MÁS confianza/satisfacción
# Original: 1 = Mucha confianza/Muy satisfecho ... 4 = Ninguna/Nada
datos_clean <- datos_clean %>%
mutate(across(
c(satisf_demo, conf_presidente, conf_ffaa, conf_congreso, conf_partidos),
~5 - . # Invierte: 1->4, 2->3, 3->2, 4->1
))
# Recodificar sexo como factor
datos_clean <- datos_clean %>%
mutate(sexo = factor(sexo, levels = c(1, 2), labels = c("Hombre", "Mujer")))
# Crear base para modelado (casos completos)
datos_modelo <- datos_clean %>%
select(satisf_demo, conf_presidente, conf_ffaa, conf_congreso, conf_partidos, edad, sexo) %>%
drop_na()
cat("Casos válidos para el modelo:", nrow(datos_modelo), "de", nrow(datos_clean),
"(", round(nrow(datos_modelo)/nrow(datos_clean)*100, 1), "%)\n")## Casos válidos para el modelo: 884 de 1000 ( 88.4 %)
| Variable | Descripción | Escala recodificada |
|---|---|---|
satisf_demo |
Satisfacción con la democracia | 1 (Nada) a 4 (Muy satisfecho) |
conf_presidente |
Confianza en el Presidente | 1 (Ninguna) a 4 (Mucha) |
conf_ffaa |
Confianza en Fuerzas Armadas | 1 (Ninguna) a 4 (Mucha) |
conf_congreso |
Confianza en el Congreso | 1 (Ninguna) a 4 (Mucha) |
conf_partidos |
Confianza en Partidos Políticos | 1 (Ninguna) a 4 (Mucha) |
edad |
Edad en años | Continua |
sexo |
Sexo | Hombre / Mujer |
datos_modelo %>%
select(-sexo) %>%
summary() %>%
kable(caption = "Estadísticos descriptivos de variables numéricas") %>%
kable_styling(bootstrap_options = c("striped", "hover"))| satisf_demo | conf_presidente | conf_ffaa | conf_congreso | conf_partidos | edad | |
|---|---|---|---|---|---|---|
| Min. :1.000 | Min. :1.000 | Min. :1.000 | Min. :1.000 | Min. :1.000 | Min. :18.00 | |
| 1st Qu.:2.000 | 1st Qu.:3.000 | 1st Qu.:2.000 | 1st Qu.:2.000 | 1st Qu.:1.000 | 1st Qu.:26.00 | |
| Median :3.000 | Median :4.000 | Median :3.000 | Median :3.000 | Median :2.000 | Median :39.00 | |
| Mean :2.984 | Mean :3.367 | Mean :3.111 | Mean :2.631 | Mean :1.982 | Mean :40.97 | |
| 3rd Qu.:4.000 | 3rd Qu.:4.000 | 3rd Qu.:4.000 | 3rd Qu.:4.000 | 3rd Qu.:2.000 | 3rd Qu.:53.00 | |
| Max. :4.000 | Max. :4.000 | Max. :4.000 | Max. :4.000 | Max. :4.000 | Max. :88.00 |
# Distribución de la variable dependiente
ggplot(datos_modelo, aes(x = factor(satisf_demo))) +
geom_bar(fill = "steelblue", alpha = 0.8) +
geom_text(stat = "count", aes(label = after_stat(count)), vjust = -0.5) +
labs(
title = "Distribución de Satisfacción con la Democracia",
subtitle = "El Salvador, Latinobarómetro 2023",
x = "Satisfacción (1 = Nada ... 4 = Muy satisfecho)",
y = "Frecuencia"
) +
theme_minimal()# Matriz de correlaciones
cor_matrix <- datos_modelo %>%
select(-sexo) %>%
cor()
# Visualización con ggcorrplot
ggcorrplot(cor_matrix,
method = "circle",
type = "upper",
lab = TRUE,
lab_size = 3.5,
colors = c("#E74C3C", "white", "#3498DB"),
title = "Matriz de Correlaciones",
ggtheme = theme_minimal())# Correlaciones con la variable dependiente
cor_vd <- cor_matrix[, "satisf_demo"] %>%
sort(decreasing = TRUE) %>%
round(3)
cat("Correlaciones con Satisfacción Democrática:\n")## Correlaciones con Satisfacción Democrática:
## satisf_demo conf_presidente conf_congreso conf_ffaa conf_partidos
## 1.000 0.514 0.451 0.394 0.356
## edad
## 0.033
Interpretación preliminar: Las correlaciones muestran el patrón esperado por la hipótesis. La confianza en el Presidente y las Fuerzas Armadas presenta correlaciones más fuertes con la satisfacción democrática que la confianza en partidos políticos.
# Relación entre confianza institucional y satisfacción
datos_modelo %>%
pivot_longer(
cols = c(conf_presidente, conf_ffaa, conf_congreso, conf_partidos),
names_to = "institucion",
values_to = "confianza"
) %>%
mutate(institucion = case_when(
institucion == "conf_presidente" ~ "Presidente",
institucion == "conf_ffaa" ~ "Fuerzas Armadas",
institucion == "conf_congreso" ~ "Congreso",
institucion == "conf_partidos" ~ "Partidos Políticos"
)) %>%
ggplot(aes(x = confianza, y = satisf_demo)) +
geom_jitter(alpha = 0.3, width = 0.2, height = 0.2, color = "steelblue") +
geom_smooth(method = "lm", se = TRUE, color = "#E74C3C") +
facet_wrap(~institucion, ncol = 2) +
labs(
title = "Relación entre Confianza Institucional y Satisfacción Democrática",
x = "Nivel de Confianza (1-4)",
y = "Satisfacción con la Democracia (1-4)"
) +
theme_minimal()# Correlaciones entre predictores
cor_predictores <- datos_modelo %>%
select(conf_presidente, conf_ffaa, conf_congreso, conf_partidos) %>%
cor()
cat("Correlaciones entre predictores:\n")## Correlaciones entre predictores:
## conf_presidente conf_ffaa conf_congreso conf_partidos
## conf_presidente 1.000 0.517 0.575 0.382
## conf_ffaa 0.517 1.000 0.561 0.375
## conf_congreso 0.575 0.561 1.000 0.554
## conf_partidos 0.382 0.375 0.554 1.000
Nota sobre multicolinealidad: Se observa correlación
moderada entre conf_presidente y conf_ffaa
(0.52), lo cual es esperable dado que ambas instituciones están
asociadas al modelo de seguridad del gobierno actual. Se evaluará el VIF
en los modelos.
Este modelo evalúa si la confianza en las instituciones asociadas al modelo de seguridad (Presidente y FFAA) predice la satisfacción democrática.
modelo_seguridad <- lm(satisf_demo ~ conf_presidente + conf_ffaa,
data = datos_modelo)
summary(modelo_seguridad)##
## Call:
## lm(formula = satisf_demo ~ conf_presidente + conf_ffaa, data = datos_modelo)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.4422 -0.6151 0.2104 0.5578 2.5156
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.83180 0.11776 7.063 3.30e-12 ***
## conf_presidente 0.47815 0.03748 12.757 < 2e-16 ***
## conf_ffaa 0.17445 0.03312 5.267 1.74e-07 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.8215 on 881 degrees of freedom
## Multiple R-squared: 0.2869, Adjusted R-squared: 0.2853
## F-statistic: 177.3 on 2 and 881 DF, p-value: < 2.2e-16
Este modelo evalúa si la confianza en instituciones tradicionales de representación (Congreso y partidos) predice la satisfacción democrática.
modelo_representativo <- lm(satisf_demo ~ conf_congreso + conf_partidos,
data = datos_modelo)
summary(modelo_representativo)##
## Call:
## lm(formula = satisf_demo ~ conf_congreso + conf_partidos, data = datos_modelo)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.77336 -0.61202 0.06792 0.70673 1.72860
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.77074 0.08246 21.474 < 2e-16 ***
## conf_congreso 0.34062 0.03322 10.253 < 2e-16 ***
## conf_partidos 0.16003 0.03751 4.267 2.2e-05 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.8594 on 881 degrees of freedom
## Multiple R-squared: 0.2197, Adjusted R-squared: 0.2179
## F-statistic: 124 on 2 and 881 DF, p-value: < 2.2e-16
Este modelo integra ambos tipos de instituciones más variables de control.
modelo_completo <- lm(satisf_demo ~ conf_presidente + conf_ffaa +
conf_congreso + conf_partidos +
edad + sexo,
data = datos_modelo)
summary(modelo_completo)##
## Call:
## lm(formula = satisf_demo ~ conf_presidente + conf_ffaa + conf_congreso +
## conf_partidos + edad + sexo, data = datos_modelo)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.7321 -0.6040 0.1314 0.5204 2.4628
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 8.176e-01 1.391e-01 5.877 5.93e-09 ***
## conf_presidente 3.856e-01 4.041e-02 9.543 < 2e-16 ***
## conf_ffaa 9.795e-02 3.521e-02 2.782 0.00552 **
## conf_congreso 1.269e-01 3.785e-02 3.354 0.00083 ***
## conf_partidos 1.183e-01 3.547e-02 3.335 0.00089 ***
## edad -2.006e-05 1.660e-03 -0.012 0.99036
## sexoMujer -7.606e-03 5.483e-02 -0.139 0.88970
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.8062 on 877 degrees of freedom
## Multiple R-squared: 0.3164, Adjusted R-squared: 0.3117
## F-statistic: 67.64 on 6 and 877 DF, p-value: < 2.2e-16
comparacion <- tibble(
Modelo = c("Seguridad", "Representativo", "Completo"),
Formula = c(
"satisf ~ presidente + ffaa",
"satisf ~ congreso + partidos",
"satisf ~ todas + controles"
),
R2 = c(
summary(modelo_seguridad)$r.squared,
summary(modelo_representativo)$r.squared,
summary(modelo_completo)$r.squared
),
R2_ajustado = c(
summary(modelo_seguridad)$adj.r.squared,
summary(modelo_representativo)$adj.r.squared,
summary(modelo_completo)$adj.r.squared
),
AIC = c(
AIC(modelo_seguridad),
AIC(modelo_representativo),
AIC(modelo_completo)
),
BIC = c(
BIC(modelo_seguridad),
BIC(modelo_representativo),
BIC(modelo_completo)
)
)
comparacion %>%
mutate(across(where(is.numeric), ~round(., 4))) %>%
kable(caption = "Comparación de modelos") %>%
kable_styling(bootstrap_options = c("striped", "hover"))| Modelo | Formula | R2 | R2_ajustado | AIC | BIC |
|---|---|---|---|---|---|
| Seguridad | satisf ~ presidente + ffaa | 0.2869 | 0.2853 | 2166.015 | 2185.153 |
| Representativo | satisf ~ congreso + partidos | 0.2197 | 0.2179 | 2245.727 | 2264.865 |
| Completo | satisf ~ todas + controles | 0.3164 | 0.3117 | 2136.756 | 2175.031 |
## Analysis of Variance Table
##
## Model 1: satisf_demo ~ conf_presidente + conf_ffaa
## Model 2: satisf_demo ~ conf_presidente + conf_ffaa + conf_congreso + conf_partidos +
## edad + sexo
## Res.Df RSS Df Sum of Sq F Pr(>F)
## 1 881 594.53
## 2 877 569.99 4 24.538 9.4386 1.796e-07 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Selección: Modelo Completo
Aunque el modelo de seguridad tiene un R² notable, el modelo completo se selecciona porque:
\[\text{Satisf\_demo} = \beta_0 + \beta_1(\text{Conf\_presidente}) + \beta_2(\text{Conf\_ffaa}) + \beta_3(\text{Conf\_congreso}) + \beta_4(\text{Conf\_partidos}) + \beta_5(\text{Edad}) + \beta_6(\text{Sexo}) + \epsilon\]
tidy(modelo_completo, conf.int = TRUE) %>%
mutate(
significancia = case_when(
p.value < 0.001 ~ "***",
p.value < 0.01 ~ "**",
p.value < 0.05 ~ "*",
p.value < 0.1 ~ ".",
TRUE ~ ""
)
) %>%
select(term, estimate, std.error, statistic, p.value, conf.low, conf.high, significancia) %>%
mutate(across(where(is.numeric), ~round(., 4))) %>%
kable(
caption = "Coeficientes del modelo final",
col.names = c("Variable", "Coef.", "Error Est.", "t", "p-valor", "IC 2.5%", "IC 97.5%", "Sig.")
) %>%
kable_styling(bootstrap_options = c("striped", "hover"))| Variable | Coef. | Error Est. | t | p-valor | IC 2.5% | IC 97.5% | Sig. |
|---|---|---|---|---|---|---|---|
| (Intercept) | 0.8176 | 0.1391 | 5.8771 | 0.0000 | 0.5446 | 1.0906 | *** |
| conf_presidente | 0.3856 | 0.0404 | 9.5432 | 0.0000 | 0.3063 | 0.4650 | *** |
| conf_ffaa | 0.0980 | 0.0352 | 2.7816 | 0.0055 | 0.0288 | 0.1671 | ** |
| conf_congreso | 0.1269 | 0.0378 | 3.3543 | 0.0008 | 0.0527 | 0.2012 | *** |
| conf_partidos | 0.1183 | 0.0355 | 3.3347 | 0.0009 | 0.0487 | 0.1879 | *** |
| edad | 0.0000 | 0.0017 | -0.0121 | 0.9904 | -0.0033 | 0.0032 | |
| sexoMujer | -0.0076 | 0.0548 | -0.1387 | 0.8897 | -0.1152 | 0.1000 |
## INTERPRETACIÓN DE COEFICIENTES:
## • Confianza en el Presidente (β = 0.386 ):
## Por cada punto adicional en confianza en el Presidente,
## la satisfacción democrática aumenta 0.386 puntos,
## manteniendo las demás variables constantes.
## • Confianza en FFAA (β = 0.098 ):
## Por cada punto adicional en confianza en las Fuerzas Armadas,
## la satisfacción democrática aumenta 0.098 puntos.
## • Confianza en Congreso (β = 0.127 ):
cat(" El efecto de la confianza en el Congreso es",
ifelse(coefs$p.value[4] < 0.05, "significativo", "NO significativo"), "\n\n")## El efecto de la confianza en el Congreso es significativo
## • Confianza en Partidos (β = 0.118 ):
cat(" El efecto de la confianza en partidos políticos es",
ifelse(coefs$p.value[5] < 0.05, "significativo", "NO significativo"), "\n")## El efecto de la confianza en partidos políticos es significativo
## MÉTRICAS GLOBALES DEL MODELO FINAL:
## • R²: 0.3164
## El modelo explica el 31.6 % de la varianza
## en satisfacción democrática.
## • R² ajustado: 0.3117
## • F-statistic: 67.64
## • p-valor global: 3.620522e-69
## • AIC: 2136.76
vif_valores <- vif(modelo_completo)
vif_df <- data.frame(Variable = names(vif_valores), VIF = round(vif_valores, 3))
vif_df %>%
mutate(Evaluacion = ifelse(VIF < 5, "✓ Aceptable", "⚠ Revisar")) %>%
kable(caption = "Factor de Inflación de Varianza (VIF)") %>%
kable_styling(bootstrap_options = c("striped", "hover"))| Variable | VIF | Evaluacion | |
|---|---|---|---|
| conf_presidente | conf_presidente | 1.646 | ✓ Aceptable |
| conf_ffaa | conf_ffaa | 1.601 | ✓ Aceptable |
| conf_congreso | conf_congreso | 2.128 | ✓ Aceptable |
| conf_partidos | conf_partidos | 1.467 | ✓ Aceptable |
| edad | edad | 1.034 | ✓ Aceptable |
| sexo | sexo | 1.017 | ✓ Aceptable |
Interpretación de diagnósticos:
# Crear forest plot de coeficientes
coef_plot <- tidy(modelo_completo, conf.int = TRUE) %>%
filter(term != "(Intercept)") %>%
mutate(
term = case_when(
term == "conf_presidente" ~ "Confianza en\nPresidente",
term == "conf_ffaa" ~ "Confianza en\nFuerzas Armadas",
term == "conf_congreso" ~ "Confianza en\nCongreso",
term == "conf_partidos" ~ "Confianza en\nPartidos Políticos",
term == "edad" ~ "Edad",
term == "sexoMujer" ~ "Sexo (Mujer)"
),
significativo = ifelse(p.value < 0.05, "Significativo", "No significativo"),
# Ordenar por magnitud del efecto
term = fct_reorder(term, estimate)
)
ggplot(coef_plot, aes(x = estimate, y = term, color = significativo)) +
geom_vline(xintercept = 0, linetype = "dashed", color = "gray50") +
geom_errorbarh(aes(xmin = conf.low, xmax = conf.high), height = 0.2, size = 1) +
geom_point(size = 4) +
scale_color_manual(values = c("Significativo" = "#2E86AB", "No significativo" = "#A23B72")) +
labs(
title = "Efecto de cada variable sobre la Satisfacción Democrática",
subtitle = "Coeficientes con intervalos de confianza al 95%",
x = "Coeficiente (β)",
y = NULL,
color = "Significancia\n(p < 0.05)",
caption = "Línea punteada = efecto nulo"
) +
theme_minimal(base_size = 12) +
theme(
plot.title = element_text(face = "bold"),
legend.position = "bottom"
)# Comparar coeficientes estandarizados
datos_std <- datos_modelo %>%
mutate(across(where(is.numeric), scale))
modelo_std <- lm(satisf_demo ~ conf_presidente + conf_ffaa +
conf_congreso + conf_partidos +
edad + sexo,
data = datos_std)
coef_std <- tidy(modelo_std) %>%
filter(term %in% c("conf_presidente", "conf_ffaa", "conf_congreso", "conf_partidos")) %>%
mutate(
tipo = ifelse(term %in% c("conf_presidente", "conf_ffaa"),
"Instituciones de\nSEGURIDAD",
"Instituciones\nREPRESENTATIVAS"),
term = case_when(
term == "conf_presidente" ~ "Presidente",
term == "conf_ffaa" ~ "Fuerzas Armadas",
term == "conf_congreso" ~ "Congreso",
term == "conf_partidos" ~ "Partidos"
)
)
ggplot(coef_std, aes(x = reorder(term, estimate), y = estimate, fill = tipo)) +
geom_col(width = 0.7, alpha = 0.9) +
geom_hline(yintercept = 0, linetype = "solid", color = "gray30") +
coord_flip() +
scale_fill_manual(values = c("Instituciones de\nSEGURIDAD" = "#E63946",
"Instituciones\nREPRESENTATIVAS" = "#457B9D")) +
labs(
title = "¿Qué tipo de confianza importa más?",
subtitle = "Coeficientes estandarizados (β) - permiten comparar magnitudes",
x = NULL,
y = "Efecto estandarizado sobre Satisfacción Democrática",
fill = "Tipo de\ninstitución"
) +
theme_minimal(base_size = 12) +
theme(
plot.title = element_text(face = "bold", size = 14),
legend.position = "right"
)# Gráfico de barras comparando R²
r2_data <- tibble(
Modelo = c("Solo\nSeguridad", "Solo\nRepresentativo", "Modelo\nCompleto"),
R2 = c(
summary(modelo_seguridad)$r.squared,
summary(modelo_representativo)$r.squared,
summary(modelo_completo)$r.squared
)
) %>%
mutate(Modelo = factor(Modelo, levels = c("Solo\nSeguridad", "Solo\nRepresentativo", "Modelo\nCompleto")))
ggplot(r2_data, aes(x = Modelo, y = R2, fill = Modelo)) +
geom_col(width = 0.6, show.legend = FALSE) +
geom_text(aes(label = paste0(round(R2*100, 1), "%")),
vjust = -0.5, size = 5, fontface = "bold") +
scale_fill_manual(values = c("#E63946", "#457B9D", "#2A9D8F")) +
scale_y_continuous(labels = scales::percent, limits = c(0, max(r2_data$R2) * 1.15)) +
labs(
title = "Capacidad explicativa de cada modelo",
subtitle = "R² = Porcentaje de varianza explicada en Satisfacción Democrática",
x = NULL,
y = "R²"
) +
theme_minimal(base_size = 12) +
theme(
plot.title = element_text(face = "bold"),
axis.text.x = element_text(size = 11)
)# Agregar predicciones al dataset
datos_modelo <- datos_modelo %>%
mutate(
predicho = predict(modelo_completo),
residuo = satisf_demo - predicho
)
ggplot(datos_modelo, aes(x = predicho, y = satisf_demo)) +
geom_jitter(alpha = 0.4, color = "#2E86AB", width = 0.05, height = 0.1) +
geom_abline(intercept = 0, slope = 1, linetype = "dashed", color = "#E63946", size = 1) +
labs(
title = "Valores Predichos vs. Observados",
subtitle = "La línea diagonal representa predicción perfecta",
x = "Satisfacción Predicha por el Modelo",
y = "Satisfacción Observada"
) +
theme_minimal(base_size = 12) +
theme(plot.title = element_text(face = "bold"))# Visualizar efecto de confianza en presidente
# Manteniendo otras variables en su media
nuevos_datos <- expand.grid(
conf_presidente = 1:4,
conf_ffaa = mean(datos_modelo$conf_ffaa),
conf_congreso = mean(datos_modelo$conf_congreso),
conf_partidos = mean(datos_modelo$conf_partidos),
edad = mean(datos_modelo$edad),
sexo = "Mujer"
)
nuevos_datos$prediccion <- predict(modelo_completo, newdata = nuevos_datos,
interval = "confidence")[,1]
pred_int <- predict(modelo_completo, newdata = nuevos_datos, interval = "confidence")
nuevos_datos$lwr <- pred_int[,2]
nuevos_datos$upr <- pred_int[,3]
ggplot(nuevos_datos, aes(x = conf_presidente, y = prediccion)) +
geom_ribbon(aes(ymin = lwr, ymax = upr), fill = "#2E86AB", alpha = 0.3) +
geom_line(color = "#2E86AB", size = 1.5) +
geom_point(color = "#2E86AB", size = 4) +
scale_x_continuous(breaks = 1:4, labels = c("Ninguna", "Poca", "Algo", "Mucha")) +
labs(
title = "Efecto de la Confianza en el Presidente",
subtitle = "Predicción de satisfacción democrática (otras variables en su media)",
x = "Nivel de Confianza en el Presidente",
y = "Satisfacción Democrática Predicha",
caption = "Banda sombreada = Intervalo de confianza 95%"
) +
theme_minimal(base_size = 12) +
theme(plot.title = element_text(face = "bold"))Los resultados del análisis ofrecen evidencia consistente con la hipótesis central de este estudio: la satisfacción con la democracia en El Salvador está más fuertemente asociada a la confianza en instituciones vinculadas al modelo de seguridad que a la confianza en instituciones de representación política tradicional.
Tres hallazgos principales sustentan esta conclusión:
La primacía del Presidente: El coeficiente de confianza en el Presidente (β ≈ 0.38) es casi tres veces mayor que el de cualquier otra variable en el modelo. Esto indica que la figura presidencial se ha convertido en el principal referente para evaluar el funcionamiento democrático.
La brecha seguridad-representación: El modelo que incluye únicamente instituciones de seguridad (Presidente + FFAA) explica el 28.7% de la varianza en satisfacción democrática, frente al 22% del modelo con instituciones representativas (Congreso + Partidos). Esta diferencia de casi 7 puntos porcentuales es sustantivamente significativa.
El efecto marginal del Presidente: Una persona que transita de “ninguna confianza” a “mucha confianza” en el Presidente experimenta un incremento predicho de casi un punto completo en satisfacción democrática (de 2.1 a 3.1 en escala de 4), manteniendo constantes las demás variables.
La teoría clásica de Lipset (1959) distinguía entre legitimidad por origen (procedimientos democráticos) y legitimidad por ejercicio (resultados de gobierno). Los datos salvadoreños sugieren un caso extremo de legitimidad por resultados: los ciudadanos evalúan positivamente la democracia no por cómo funciona el proceso político, sino por lo que el gobierno produce.
En contextos de violencia crónica como el salvadoreño, donde la inseguridad afectaba todas las dimensiones de la vida cotidiana, la provisión de seguridad constituye un bien público de primer orden. La reducción de homicidios de 103 a menos de 8 por cada 100,000 habitantes representa una transformación tangible que los ciudadanos experimentan directamente. Bajo esta lectura, la alta satisfacción democrática refleja una evaluación racional: el sistema político está entregando lo que más se necesitaba.
Los hallazgos son consistentes con el concepto de democracia delegativa propuesto por O’Donnell (1994): regímenes donde el presidente electo se considera autorizado a gobernar como considere conveniente, limitado únicamente por las relaciones de poder existentes y el término constitucional de su mandato.
La personalización de la legitimidad democrática en la figura de Bukele —evidenciada por el coeficiente tres veces mayor que cualquier otra institución— sugiere que los salvadoreños han delegado en el Presidente no solo la gestión gubernamental, sino la propia definición de lo que significa vivir en democracia. Las instituciones de mediación (partidos, Congreso) pierden relevancia porque la relación ciudadano-Estado se establece directamente con el líder.
Esto tiene implicaciones preocupantes: cuando la legitimidad democrática depende de una persona, ¿qué ocurre cuando esa persona deja el poder? ¿Es transferible esta legitimidad a instituciones, o el sistema se vuelve estructuralmente dependiente del líder?
Levitsky y Way (2010) definieron el autoritarismo competitivo como regímenes donde existen instituciones democráticas formales, pero estas son sistemáticamente manipuladas a favor del incumbente. El caso salvadoreño añade un elemento distintivo: este arreglo institucional goza de amplio apoyo popular.
Los datos sugieren que los salvadoreños no ignoran el debilitamiento de las instituciones representativas —la baja asociación entre confianza en Congreso/partidos y satisfacción democrática indica que estas instituciones son percibidas como irrelevantes—, pero esto no afecta su evaluación general del régimen. En otras palabras: los ciudadanos pueden estar satisfechos con una democracia que funciona de manera no democrática, siempre que resuelva sus problemas más urgentes.
Esto plantea un desafío conceptual: ¿debemos llamar “satisfacción democrática” a la aprobación de un régimen que suspende garantías constitucionales? Los datos de Latinobarómetro capturan percepciones subjetivas, no evaluaciones normativas. Lo que los salvadoreños reportan como “satisfacción con la democracia” podría ser, más precisamente, satisfacción con el gobierno —una distinción crucial que el instrumento no permite diferenciar.
Los hallazgos de este estudio iluminan una tensión que trasciende el caso salvadoreño y que es central para la ciencia política contemporánea: ¿están los ciudadanos dispuestos a sacrificar libertades procedimentales a cambio de seguridad?
La evidencia sugiere que, al menos en contextos de violencia extrema, la respuesta es afirmativa. Esto tiene implicaciones para:
La teoría democrática: Los modelos procedimentales de democracia (Dahl, Schumpeter) asumen que los ciudadanos valoran la competencia electoral, el pluralismo y los contrapesos institucionales. El caso salvadoreño sugiere que estos valores pueden ser secundarios cuando necesidades más básicas (seguridad física) no están satisfechas. Esto es consistente con el marco de Maslow aplicado a la política: los derechos civiles y políticos pueden ser “bienes de lujo” que solo se priorizan cuando las necesidades básicas están cubiertas.
El efecto demostración regional: El “modelo Bukele” ha generado interés en otros países latinoamericanos con problemas de inseguridad (Ecuador, Honduras, Perú, Chile). Comprender las bases de su apoyo popular es crucial para anticipar si este modelo se replicará —y con qué consecuencias— en la región.
Las estrategias de oposición democrática: Si la legitimidad del régimen se basa en resultados de seguridad, las estrategias de oposición centradas en denunciar violaciones a derechos humanos pueden ser políticamente ineficaces. Los datos sugieren que los ciudadanos ya incorporaron este trade-off en su evaluación: saben que hay abusos, pero priorizan la seguridad.
Este estudio presenta varias fortalezas metodológicas:
Datos representativos: Latinobarómetro 2023 utiliza muestreo probabilístico con cobertura nacional, lo que permite inferencias válidas sobre la población salvadoreña adulta.
Diseño comparativo interno: La especificación de tres modelos (seguridad, representativo, completo) permite evaluar hipótesis competidoras de manera sistemática, más allá de simplemente reportar asociaciones.
Validez de constructo: Las variables de confianza institucional de Latinobarómetro han sido ampliamente utilizadas en investigación comparada, lo que facilita el diálogo con literatura previa.
Transparencia y reproducibilidad: El análisis completo está documentado en código R, permitiendo replicación y extensión por otros investigadores.
Causalidad: El diseño transversal no permite establecer direccionalidad causal. Es posible que quienes ya estaban satisfechos con la democracia tiendan a confiar más en el Presidente (causalidad inversa), o que ambas variables sean causadas por un tercer factor (satisfacción general con la vida, por ejemplo).
Endogeneidad conceptual: En un contexto de hiperpresidencialismo, los encuestados pueden no distinguir claramente entre “confianza en el Presidente” y “satisfacción con la democracia”, generando correlación espuria.
Variables omitidas: El modelo no incluye controles por educación, ingreso, zona de residencia (urbano/rural), o experiencia directa con violencia, variables que podrían mediar o confundir las relaciones observadas.
Limitaciones del instrumento: La pregunta de Latinobarómetro sobre “satisfacción con la democracia” no distingue entre satisfacción con el régimen político y satisfacción con el gobierno de turno —una distinción analíticamente crucial.
Análisis longitudinal: Examinar cómo han evolucionado estas relaciones entre 2019 (inicio del gobierno Bukele) y 2024, aprovechando múltiples olas de Latinobarómetro.
Comparación regional: Replicar el análisis en países con diferentes niveles de violencia y distintos tipos de régimen para evaluar la generalización de los hallazgos.
Desagregación subnacional: Explorar si la relación seguridad-satisfacción democrática varía según la exposición territorial a la violencia (zonas históricamente controladas por pandillas vs. otras).
Diseños cualitativos complementarios: Entrevistas en profundidad para comprender cómo los salvadoreños conceptualizan “democracia” y qué entienden cuando reportan estar “satisfechos” con ella.
Este estudio examinó los determinantes de la satisfacción con la democracia en El Salvador utilizando datos de Latinobarómetro 2023, con el objetivo de evaluar si la confianza en instituciones de seguridad (Presidente, Fuerzas Armadas) tiene mayor peso que la confianza en instituciones representativas (Congreso, partidos políticos).
Los resultados confirman la hipótesis central: la confianza en el Presidente es, por amplio margen, el predictor más fuerte de satisfacción democrática (β ≈ 0.38), mientras que las instituciones representativas tradicionales muestran efectos considerablemente menores. El modelo de seguridad explica casi 7 puntos porcentuales más de varianza que el modelo representativo (28.7% vs. 22%).
Estos hallazgos tienen implicaciones teóricas y prácticas significativas:
Primero, sugieren que en contextos de violencia crónica, la legitimidad democrática puede construirse sobre resultados tangibles (seguridad) más que sobre procedimientos institucionales (representación, deliberación, contrapesos). Esto desafía los supuestos procedimentalistas de buena parte de la teoría democrática contemporánea.
Segundo, evidencian un proceso de personalización de la legitimidad democrática donde la figura presidencial desplaza a las instituciones de mediación como referente para evaluar el régimen. Esto configura lo que O’Donnell llamó “democracia delegativa” llevada a un extremo.
Tercero, plantean interrogantes sobre la sostenibilidad de este modelo de legitimidad. Si la satisfacción democrática depende de una persona y de un resultado específico (seguridad), ¿qué ocurre cuando cambian las circunstancias? La ausencia de instituciones intermedias sólidas puede hacer al sistema vulnerable a crisis de legitimidad futuras.
Finalmente, los datos invitan a una reflexión incómoda: ¿qué están evaluando los ciudadanos cuando dicen estar satisfechos con “la democracia”? Si la respuesta es “la gestión de un gobierno que suspende garantías constitucionales”, entonces el concepto mismo de satisfacción democrática requiere revisión —al menos en contextos como el salvadoreño.
El caso de El Salvador no es solo una anomalía centroamericana; es un laboratorio donde se ponen a prueba los límites de la teoría democrática frente a las demandas ciudadanas de seguridad. Los resultados no ofrecen respuestas normativas fáciles, pero sí evidencia empírica para un debate que apenas comienza.
## R version 4.5.1 (2025-06-13)
## Platform: x86_64-apple-darwin20
## Running under: macOS Monterey 12.7.6
##
## Matrix products: default
## BLAS: /Library/Frameworks/R.framework/Versions/4.5-x86_64/Resources/lib/libRblas.0.dylib
## LAPACK: /Library/Frameworks/R.framework/Versions/4.5-x86_64/Resources/lib/libRlapack.dylib; LAPACK version 3.12.1
##
## locale:
## [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
##
## time zone: America/Mexico_City
## tzcode source: internal
##
## attached base packages:
## [1] stats graphics grDevices utils datasets methods base
##
## other attached packages:
## [1] scales_1.4.0 GGally_2.4.0 kableExtra_1.4.0 knitr_1.50
## [5] ggcorrplot_0.1.4.1 car_3.1-3 carData_3.0-5 broom_1.0.8
## [9] readxl_1.4.5 lubridate_1.9.4 forcats_1.0.0 stringr_1.5.1
## [13] dplyr_1.1.4 purrr_1.0.4 readr_2.1.5 tidyr_1.3.1
## [17] tibble_3.3.0 ggplot2_4.0.0 tidyverse_2.0.0
##
## loaded via a namespace (and not attached):
## [1] gtable_0.3.6 xfun_0.52 bslib_0.9.0 lattice_0.22-7
## [5] tzdb_0.5.0 vctrs_0.6.5 tools_4.5.1 generics_0.1.4
## [9] pkgconfig_2.0.3 Matrix_1.7-3 RColorBrewer_1.1-3 S7_0.2.0
## [13] lifecycle_1.0.4 compiler_4.5.1 farver_2.1.2 textshaping_1.0.1
## [17] htmltools_0.5.8.1 sass_0.4.10 yaml_2.3.10 Formula_1.2-5
## [21] pillar_1.10.2 jquerylib_0.1.4 cachem_1.1.0 abind_1.4-8
## [25] nlme_3.1-168 ggstats_0.11.0 tidyselect_1.2.1 digest_0.6.37
## [29] stringi_1.8.7 reshape2_1.4.4 labeling_0.4.3 splines_4.5.1
## [33] fastmap_1.2.0 grid_4.5.1 cli_3.6.5 magrittr_2.0.3
## [37] withr_3.0.2 backports_1.5.0 timechange_0.3.0 rmarkdown_2.29
## [41] cellranger_1.1.0 hms_1.1.3 evaluate_1.0.4 viridisLite_0.4.2
## [45] mgcv_1.9-3 rlang_1.1.6 Rcpp_1.0.14 glue_1.8.0
## [49] xml2_1.3.8 svglite_2.2.1 rstudioapi_0.17.1 jsonlite_2.0.0
## [53] R6_2.6.1 plyr_1.8.9 systemfonts_1.2.3