Introducción

El conflicto armado en Colombia ha sido un fenómeno persistente que ha impactado el desarrollo de diversas regiones del país, esto a pesar de los esfuerzos de proyectos y planes en municipios priorizados dentro del Programa de Desarrollo con Enfoque Territorial (PDET), la violencia sigue manifestándose de manera desigual en el territorio. Ante esta realidad, surge este trabajo para analizar la persistencia espacial del conflicto y evaluar en qué medida las condiciones de un municipio y sus vecinos influyen en la continuidad del conflicto a lo largo del tiempo.

Este estudio emplea técnicas de análisis espacial para evaluar la distribución y evolución del Índice de Incidencia del Conflicto Armado (IICA) en los municipios colombianos durante los años 2017 y 2021. Utilizando análisis LISA (Local Indicators of Spatial Association) y modelos de regresión espacial, el cual busca responder a la pregunta central: ¿El conflicto persiste en los mismos territorios con el tiempo, o existe una dependencia geográfica entre municipios que contribuye a la continuidad del conflicto?

Para abordar esta pregunta, el estudio se estructuró en tres fases principales:

Análisis de la autocorrelación espacial del conflicto en 2017 y 2021:

  1. Se aplicó el Índice de Moran para identificar la existencia de patrones espaciales en la distribución del IICA.

Se utilizó el análisis LISA para clasificar los municipios en cuatro categorías según su autocorrelación local:

  1. Evaluación de cambios en la estructura espacial del conflicto entre 2017 y 2021:

Se compararon los clústeres de cada municipio en ambos años, clasificándolos en cinco categorías:

  1. Modelos de regresión espacial para analizar la persistencia del conflicto:

Analísis

Se inicia con la instalación de las librerias necesarias, el cargue y estandarización de nombres, ocultando en Rmarkdown las instlaciones debido a que salen mensajes de advertencia por actualización de MAC en R.

library(tidyverse) library(readxl) library(leaflet) library(spdep)
library(dplyr) library(sp) library(tmap) library(sf) library(spatialreg)

datos <- read_excel("/Users/daniel/Downloads/Base de datos trabajo final.xlsx")

datos <- datos %>%
  rename_with(~ gsub(" ", "_", .)) %>%
  rename_with(~ gsub("\\(porcentaje\\)", "porcentaje", .)) %>%
  rename_with(~ gsub("\\(número\\)", "numero", .)) %>%
  rename_with(~ gsub("\\(Porcentaje\\)", "porcentaje", .)) %>%
  rename_with(~ gsub("\\(puntos\\)", "puntos", .)) %>%
  rename_with(~ gsub("\\(Inversión\\)", "Inversion", .)) %>%
  rename_with(~ gsub("\\(Millones_de_pesos\\)", "Millones_pesos", .))
# Convertir los datos a formato espacial (sf)
datos_sf <- st_as_sf(datos, coords = c("Longitud", "Latitud"), crs = 4326)

Despues de que la instalación y verificación de los datos se inició el analísis con la definición de vecinos y matriz de pesos espaciales.

Definición de Vecinos y Matriz de Pesos Espaciales

# Calcular los vecinos usando K-Nearest Neighbors con K=4
vecinos <- knn2nb(knearneigh(st_coordinates(datos_sf), k = 4))

# Crear la matriz de pesos espaciales con estilo B (binario)
pesos <- nb2listw(vecinos, style = "B")

# Contar municipios sin vecinos
municipios_sin_vecinos <- sum(card(vecinos) == 0)
print(paste("Número de municipios sin vecinos:", municipios_sin_vecinos))
## [1] "Número de municipios sin vecinos: 0"
plot(st_geometry(datos_sf), col = "lightgray", main = "Red de Vecinos K=4")  # Mapa base
plot(vecinos, st_coordinates(datos_sf), col = "red", pch = 20, add = TRUE) 

La construcción de la matriz de pesos espaciales con K=4 garantiza que cada municipio tenga cuatro vecinos cercanos, asegurando que todos participen en el análisis y no haya municipios aislados. La elección de K=4 se basa en la necesidad de capturar interacciones locales sin incluir relaciones irrelevantes con municipios demasiado distantes.

Al utilizar una matriz de pesos binarios (estilo B), cada municipio tiene la misma influencia sobre sus vecinos directos (valor 1 si es vecino, 0 si no lo es), lo que facilita la interpretación de los efectos espaciales sin distorsiones causadas por ponderaciones más complejas.

Además, al verificar la estructura de la red de vecinos, confirmamos que todos los municipios tienen exactamente cuatro conexiones, asegurando que el análisis de autocorrelación espacial (LISA) pueda aplicarse a toda la muestra sin omisiones. También se realizó una visualización de la red de conexiones espaciales.

Cálculo de LISA para el IICA 2017 y 2021

lisa_2017 <- localmoran(datos_sf$`Índice_de_Incidencia_del_Conflicto_Armado_-_IICA_2017_numero`, pesos)
lisa_2021 <- localmoran(datos_sf$`Índice_de_Incidencia_del_Conflicto_Armado_-_IICA_2021_numero`, pesos)

# Convertir resultados a DataFrame
lisa_2017_df <- as.data.frame(lisa_2017)
lisa_2021_df <- as.data.frame(lisa_2021)

# Agregar los valores de Moran's I y p-value a la base de datos espacial
datos_sf$Ii_2017 <- lisa_2017_df$Ii
datos_sf$p_value_2017 <- lisa_2017_df$`Pr(z != E(Ii))`
datos_sf$Ii_2021 <- lisa_2021_df$Ii
datos_sf$p_value_2021 <- lisa_2021_df$`Pr(z != E(Ii))`

# Visualizar las primeras filas con los resultados
head(datos_sf[, c("Municipio", "Ii_2017", "p_value_2017", "Ii_2021", "p_value_2021")])
## Simple feature collection with 6 features and 5 fields
## Geometry type: POINT
## Dimension:     XY
## Bounding box:  xmin: -76.0643 ymin: 5.789315 xmax: -75.0775 ymax: 6.909655
## Geodetic CRS:  WGS 84
## # A tibble: 6 × 6
##   Municipio  Ii_2017 p_value_2017 Ii_2021 p_value_2021             geometry
##   <chr>        <dbl>        <dbl>   <dbl>        <dbl>          <POINT [°]>
## 1 Medellín    0.367         0.465  0.294         0.484 (-75.58177 6.246631)
## 2 Abejorral   0.357         0.678  0.151         0.793 (-75.42874 5.789315)
## 3 Abriaquí   -0.0705        0.827  0.0585        0.953  (-76.0643 6.632282)
## 4 Alejandría  0.177         0.583  0.342         0.703 (-75.14135 6.376061)
## 5 Amagá       0.0462        0.886  0.0347        0.733 (-75.70219 6.038708)
## 6 Amalfi     -0.428         0.395  0.760         0.273  (-75.0775 6.909655)

Calcular la media ponderada de Ii usando los pesos espaciales

Ii_vecinos_2017 <- lag.listw(pesos, datos_sf$Ii_2017) # Ii promedio de vecinos en 2017
Ii_vecinos_2021 <- lag.listw(pesos, datos_sf$Ii_2021) # Ii promedio de vecinos en 2021

# Ajustar la clasificación de los clústeres intercambiando Alto-Alto con Bajo-Bajo
datos_sf$Cluster_2017 <- NA
datos_sf$Cluster_2021 <- NA

# Nueva clasificación de 2017
datos_sf$Cluster_2017[datos_sf$Ii_2017 > 0 & Ii_vecinos_2017 > 0] <- "Bajo-Bajo"
datos_sf$Cluster_2017[datos_sf$Ii_2017 < 0 & Ii_vecinos_2017 < 0] <- "Alto-Alto"
datos_sf$Cluster_2017[datos_sf$Ii_2017 > 0 & Ii_vecinos_2017 < 0] <- "Bajo-Alto"
datos_sf$Cluster_2017[datos_sf$Ii_2017 < 0 & Ii_vecinos_2017 > 0] <- "Alto-Bajo"

# Nueva clasificación de 2021
datos_sf$Cluster_2021[datos_sf$Ii_2021 > 0 & Ii_vecinos_2021 > 0] <- "Bajo-Bajo"
datos_sf$Cluster_2021[datos_sf$Ii_2021 < 0 & Ii_vecinos_2021 < 0] <- "Alto-Alto"
datos_sf$Cluster_2021[datos_sf$Ii_2021 > 0 & Ii_vecinos_2021 < 0] <- "Bajo-Alto"
datos_sf$Cluster_2021[datos_sf$Ii_2021 < 0 & Ii_vecinos_2021 > 0] <- "Alto-Bajo"

# Verificar resultados corregidos
table(datos_sf$Cluster_2017)
## 
## Alto-Alto Alto-Bajo Bajo-Alto Bajo-Bajo 
##       113       117        65       808
table(datos_sf$Cluster_2021)
## 
## Alto-Alto Alto-Bajo Bajo-Alto Bajo-Bajo 
##        59       115        44       885

La cantidad de municipios que tenían alta incidencia del conflicto y estaban rodeados por otros con alta incidencia disminuyó de 113 a 59.

Hay más municipios con baja incidencia del conflicto y rodeados de municipios con baja incidencia

Se puede concluir que, hay una tendencia clara de reducción del conflicto en algunas regiones, pero aún hay núcleos de persistencia. Los municipios Alto-Alto han disminuido, pero algunos han pasado a categorías intermedias en lugar de Bajo-Bajo.

Continuamos con la visualización para poder dar mas claridad a la interpretación y llegar a un comparativo de los ańos

paleta_cluster <- colorFactor(
  palette = c("red", "orange", "yellow", "blue"),
  domain = datos_sf$Cluster_2017
)

# Mapa interactivo de Clústeres LISA 2017
mapa_lisa_2017 <- leaflet(datos_sf) %>%
  addTiles() %>%
  addCircleMarkers(
    lng = ~st_coordinates(geometry)[,1], 
    lat = ~st_coordinates(geometry)[,2], 
    fillColor = ~paleta_cluster(Cluster_2017), 
    fillOpacity = 1,
    radius = 6,  
    stroke = TRUE, 
    color = ifelse(datos_sf$PDET == "Sí", "black", "transparent"),  # Borde negro solo para PDET
    weight = 5,  
    popup = ~paste(
      "<b>Municipio:</b>", Municipio, "(", Departamento, ")", "<br>",
      "<b>Cluster:</b>", Cluster_2017, "<br>",
      "<b>LISA I:</b>", round(Ii_2017, 3), "<br>",
      "<b>P-valor:</b>", round(p_value_2017, 3)
    )
  ) %>%
  addLegend(
    "bottomright", 
    pal = paleta_cluster, 
    values = ~Cluster_2017,
    title = "Clústeres LISA 2017",
    opacity = 1
  )

# Mostrar el mapa de 2017
mapa_lisa_2017

Distribución de clústeres LISA en 2017 según el IICA (Índice de Incidencia del Conflicto Armado)

Alto-Alto: Se observan agrupaciones de municipios con alta incidencia del conflicto en regiones del noroccidente del país.

Bajo-Bajo: Hay una gran concentración de municipios con baja incidencia del conflicto en la zona central y oriente del país.

Alto-Bajo: Se identifican algunos municipios con alta incidencia rodeados de municipios con baja incidencia, principalmente en zonas de transición.

Bajo-Alto: Se pueden ver municipios con baja incidencia rodeados por municipios con alta incidencia, lo que podría representar zonas de frontera del conflicto.

Municipios PDET

paleta_cluster_2021 <- colorFactor(
  palette = c("red", "orange", "yellow", "blue"),
  domain = datos_sf$Cluster_2021
)

# Mapa interactivo de Clústeres LISA 2021
mapa_lisa_2021 <- leaflet(datos_sf) %>%
  addTiles() %>%
  addCircleMarkers(
    lng = ~st_coordinates(geometry)[,1], 
    lat = ~st_coordinates(geometry)[,2], 
    fillColor = ~paleta_cluster_2021(Cluster_2021), 
    fillOpacity = 1,
    radius = 6,  
    stroke = TRUE, 
    color = ifelse(datos_sf$PDET == "Sí", "black", "transparent"),  # Borde negro solo para PDET
    weight = 5,  
    popup = ~paste(
      "<b>Municipio:</b>", Municipio, "(", Departamento, ")", "<br>",
      "<b>Cluster:</b>", Cluster_2021, "<br>",
      "<b>LISA I:</b>", round(Ii_2021, 3), "<br>",
      "<b>P-valor:</b>", round(p_value_2021, 3)
    )
  ) %>%
  addLegend(
    "bottomright", 
    pal = paleta_cluster_2021, 
    values = ~Cluster_2021,
    title = "Clústeres LISA 2021",
    opacity = 1
  )

# Mostrar el mapa de 2021
mapa_lisa_2021

Mayor estabilidad en zonas de Bajo-Bajo, lo que indica reducción del conflicto en algunas regiones.

Persistencia del conflicto en ciertas zonas, aunque con menor intensidad en términos de número de municipios en Alto-Alto.

La geografía sigue influyendo, ya que municipios con antecedentes de conflicto siguen relacionados con sus vecinos cercanos.

Los PDET muestran cambios mixtos, algunos con mejoras y otros manteniendo altos niveles de conflicto.

# Crear una columna vacía para almacenar el tipo de cambio de clúster
datos_sf$Cambio_Cluster <- NA
# Clasificación de cambios de clúster con nombres en minúscula
for (i in 1:nrow(datos_sf)) {
  cluster_antes <- tolower(datos_sf$Cluster_2017[i])
  cluster_despues <- tolower(datos_sf$Cluster_2021[i])
  if (cluster_antes == cluster_despues) {
    datos_sf$Cambio_Cluster[i] <- "se mantuvo"
    # 🔹 SUBE 2 NIVELES
  } else if (cluster_antes == "bajo-bajo" & cluster_despues == "alto-alto") {
    datos_sf$Cambio_Cluster[i] <- "subió 2 niveles"
  } else if (cluster_antes == "bajo-bajo" & cluster_despues == "alto-bajo") {
    datos_sf$Cambio_Cluster[i] <- "subió 2 niveles"
  } else if (cluster_antes == "bajo-alto" & cluster_despues == "alto-alto") {
    datos_sf$Cambio_Cluster[i] <- "subió 2 niveles"
    # 🔹 SUBE 1 NIVEL
  } else if (cluster_antes == "bajo-bajo" & cluster_despues == "bajo-alto") {
    datos_sf$Cambio_Cluster[i] <- "subió 1 nivel"
  } else if (cluster_antes == "bajo-alto" & cluster_despues == "alto-bajo") {
    datos_sf$Cambio_Cluster[i] <- "subió 1 nivel"
  } else if (cluster_antes == "alto-bajo" & cluster_despues == "alto-alto") {
    datos_sf$Cambio_Cluster[i] <- "subió 1 nivel"
    # 🔹 BAJA 1 NIVEL
  } else if (cluster_antes == "alto-alto" & cluster_despues == "alto-bajo") {
    datos_sf$Cambio_Cluster[i] <- "bajó 1 nivel"
  } else if (cluster_antes == "alto-bajo" & cluster_despues == "bajo-alto") {
    datos_sf$Cambio_Cluster[i] <- "bajó 1 nivel"
  } else if (cluster_antes == "bajo-alto" & cluster_despues == "bajo-bajo") {
    datos_sf$Cambio_Cluster[i] <- "bajó 1 nivel"
    # 🔹 BAJA 2 NIVELES
  } else if (cluster_antes == "alto-alto" & cluster_despues == "bajo-alto") {
    datos_sf$Cambio_Cluster[i] <- "bajó 2 niveles"
  } else if (cluster_antes == "alto-bajo" & cluster_despues == "bajo-bajo") {
    datos_sf$Cambio_Cluster[i] <- "bajó 2 niveles"
  } else if (cluster_antes == "alto-alto" & cluster_despues == "bajo-bajo") {
    datos_sf$Cambio_Cluster[i] <- "bajó 2 niveles"
  }
}
# Revisar la tabla de cambios
table(datos_sf$Cambio_Cluster, useNA = "ifany")
## 
##    bajó 1 nivel  bajó 2 niveles      se mantuvo   subió 1 nivel subió 2 niveles 
##              76             142             758              39              88

El siguiente objetivo es analizar la evolución de los clústeres de conflicto entre 2017 y 2021, determinando cómo cambiaron los municipios en términos de su nivel de conflicto en relación con sus vecinos.

La tabla generada nos indica: - 758 municipios se mantuvieron sin cambios.

127 municipios empeoraron, de los cuales: - 88 subieron 2 niveles, lo que puede representar un deterioro grave. - 39 subieron 1 nivel, mostrando un deterioro moderado.

218 municipios mejoraron, de los cuales: - 142 bajaron 2 niveles, indicando una mejora significativa. - 76 bajaron 1 nivel, mostrando una mejora parcial.

# Definir paleta de colores para los cambios de clúster
paleta_cambios <- colorFactor(
  palette = c("lightgreen", "darkgreen", "gray", "orange", "red"),
  domain = datos_sf$Cambio_Cluster
)
# Crear el mapa interactivo
mapa_cambios <- leaflet(datos_sf) %>%
  addTiles() %>%  # Añadir mapa base
  addCircleMarkers(
    lng = ~st_coordinates(geometry)[,1],
    lat = ~st_coordinates(geometry)[,2],
    fillColor = ~paleta_cambios(Cambio_Cluster),  # Colores según el cambio de clúster
    fillOpacity = 0.9,  # Opacidad del relleno
    radius = 6,  # Tamaño de los puntos
    stroke = TRUE,  # Borde habilitado
    color = ifelse(datos_sf$PDET == "Sí", "black", NA),  # Bordes negros para municipios PDET
    weight = 5,  # Grosor del borde
    popup = ~paste(
      "<b>Municipio:</b>", Municipio, "(", Departamento, ")", "<br>",
      "<b>Cambio de Clúster:</b>", Cambio_Cluster
    )  # Información emergente al hacer clic
  ) %>%
  addLegend(
    "bottomright",
    pal = paleta_cambios,
    values = ~Cambio_Cluster,
    title = "Cambio de Clúster (2017-2021)",
    opacity = 1
  )
# Mostrar el mapa
mapa_cambios

El mapa muestra los cambios de todos los municipios en Colombia de los clusters como comparativo.

# Crear el gráfico de barras con etiquetas
grafico_cambios <- ggplot(datos_sf, aes(x = Cambio_Cluster, fill = Cambio_Cluster)) +
  geom_bar() +
  geom_text(stat = 'count', aes(label = ..count..), vjust = -0.5, size = 5) +
  scale_fill_brewer(palette = "Set2") +
  labs(
    title = "Cambio de Clúster entre 2017 y 2021",
    x = "Tipo de Cambio",
    y = "Cantidad de Municipios"
  ) +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))
# Mostrar el gráfico
print(grafico_cambios)
## Warning: The dot-dot notation (`..count..`) was deprecated in ggplot2 3.4.0.
## ℹ Please use `after_stat(count)` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.

142 municipios bajaron 2 niveles ➝ Mejoraron mucho, lo que sugiere una fuerte reducción del conflicto.

76 municipios bajaron 1 nivel ➝ Mejoraron moderadamente, aún una señal positiva.

39 municipios subieron 1 nivel ➝ Empeoraron moderadamente, el conflicto aumentó un poco.

88 municipios subieron 2 niveles ➝ Empeoraron significativamente, lo cual es preocupante.

758 municipios se mantuvieron ➝ La estabilidad puede ser buena o mala dependiendo de su nivel original.

Continua la grafica de barras para los municipios PDET.

# Filtrar solo los municipios PDET
datos_pdet <- datos_sf %>% filter(PDET == "Sí")
# Crear el gráfico de barras para municipios PDET
grafico_cambios_pdet <- ggplot(datos_pdet, aes(x = Cambio_Cluster, fill = Cambio_Cluster)) +
  geom_bar() +
  geom_text(stat = 'count', aes(label = ..count..), vjust = -0.5, size = 5) +
  scale_fill_brewer(palette = "Set2") +
  labs(
    title = "Cambio de Clúster entre 2017 y 2021 (Municipios PDET)",
    x = "Tipo de Cambio",
    y = "Cantidad de Municipios"
  ) +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))
# Mostrar el gráfico
print(grafico_cambios_pdet)

Como conslusión

El impacto de la geografía en el conflicto armado se observa a través de los cambios en los clústeres LISA

✔️ Los municipios cercanos tienden a influenciarse mutuamente, lo que sugiere propagación del conflicto o de la estabilidad.

✔️ Las regiones con alta persistencia del conflicto pueden indicar fallas estructurales en las estrategias de intervención.

Sin embargo, para entender qué factores explican estos cambios, necesitamos aplicar una regresión espacial.

Iniciamos LSM

# Definir vecinos con K=4
vecinos_k4 <- knn2nb(knearneigh(st_coordinates(datos_sf), k = 4))
# Convertir en matriz de pesos binarios (1 si es vecino, 0 si no)
pesos_k4 <- nb2listw(vecinos_k4, style = "B", zero.policy = TRUE)

# Ajustar modelo SLM con lag espacial
modelo_slm <- lagsarlm(Ii_2021 ~ Ii_2017, data = datos_sf, listw = pesos_k4, method = "eigen")
# Resumen del modelo
summary(modelo_slm)
## 
## Call:lagsarlm(formula = Ii_2021 ~ Ii_2017, data = datos_sf, listw = pesos_k4, 
##     method = "eigen")
## 
## Residuals:
##        Min         1Q     Median         3Q        Max 
## -43.532986  -0.242043  -0.129119  -0.032382  87.076191 
## 
## Type: lag 
## Coefficients: (asymptotic standard errors) 
##             Estimate Std. Error z value Pr(>|z|)
## (Intercept) 0.146998   0.150403  0.9774   0.3284
## Ii_2017     0.218661   0.017867 12.2380   <2e-16
## 
## Rho: 0.17724, LR test value: 493.24, p-value: < 2.22e-16
## Asymptotic standard error: 0.0048202
##     z-value: 36.77, p-value: < 2.22e-16
## Wald statistic: 1352, p-value: < 2.22e-16
## 
## Log likelihood: -3380.069 for lag model
## ML residual variance (sigma squared): 23.42, (sigma: 4.8394)
## Number of observations: 1103 
## Number of parameters estimated: 4 
## AIC: 6768.1, (AIC for lm: 7259.4)
## LM test for residual autocorrelation
## test value: 10.896, p-value: 0.00096391
  1. Coeficiente de Ii_2017 (0.218661, p < 2e-16)
  1. Coeficiente de Rho (0.17724, p < 2.22e-16)
  1. Comparación con el modelo lineal clásico

🔹 Conclusión - El conflicto armado en los municipios no es solo un fenómeno aislado, sino que se propaga espacialmente. - La geografía influye en la persistencia del conflicto, lo que refuerza la hipótesis de que la violencia no ocurre al azar, sino que responde a patrones espaciales. - El SLM es un mejor predictor del IICA 2021 que la regresión lineal simple, ya que considera la estructura espacial.

 # Definir umbrales para clasificar la persistencia del conflicto
datos_sf <- datos_sf %>%
  mutate(
    Persistencia_Conflicto = case_when(
      Ii_2021 > Ii_2017 ~ "Aumentó",
      Ii_2021 < Ii_2017 ~ "Disminuyó",
      Ii_2021 == Ii_2017 ~ "Se mantuvo",
      TRUE ~ NA_character_
    )
  )
# Verificar que la nueva variable se creó correctamente
table(datos_sf$Persistencia_Conflicto, useNA = "ifany")
## 
##   Aumentó Disminuyó 
##       423       680

De acuerdo con la clasificación de persistencia del conflicto basada en el Índice de Incidencia del Conflicto Armado (IICA), obtenemos los siguientes resultados: - 423 municipios registran un aumento en el nivel de conflicto armado. - 680 municipios muestran una disminución en el nivel de conflicto armado.

La mayoría de los municipios (61.6%) han experimentado una reducción en el nivel de conflicto entre 2017 y 2021, sin embargo, un 38.4% de los municipios han visto un aumento en la incidencia del conflicto, lo que sugiere que el conflicto no ha sido erradicado por completo y persisten dinámicas territoriales de violencia.

# Crear una tabla con el cambio en IICA para todos los municipios
tabla_cambio_todos <- datos_sf %>%
  select(Municipio, Departamento, Ii_2017, Ii_2021, Persistencia_Conflicto) %>%
  arrange(desc(Persistencia_Conflicto))

# Filtrar municipios PDET y generar una tabla solo para ellos
tabla_cambio_pdet <- datos_sf %>%
  filter(PDET == "Sí") %>%
  select(Municipio, Departamento, Ii_2017, Ii_2021, Persistencia_Conflicto) %>%
  arrange(desc(Persistencia_Conflicto))

Tabla municipios totales

# Mostrar las tablas
datatable(tabla_cambio_todos, options = list(pageLength = 10), caption = "Cambio en el Conflicto - Todos los municipios")

Tabla municipios PDET

datatable(tabla_cambio_pdet, options = list(pageLength = 10), caption = "Cambio en el Conflicto - Municipios PDET")

Conclusiones

El análisis de la persistencia del conflicto armado en Colombia entre 2017 y 2021 mediante técnicas espaciales como LISA y modelos de regresión espacial revela que la violencia no se distribuye aleatoriamente en el territorio, sino que sigue patrones espaciales donde los municipios con alta incidencia del conflicto en 2017 tienden a seguir siendo conflictivos en 2021 y donde los municipios vecinos influyen entre sí, lo que confirma la existencia de dependencia geográfica, la evaluación de los municipios PDET muestra que aunque algunos han mejorado, otros no hanvisto cambios del conflicto, lo que sugiere que las estrategias implementadas han tenido impactos mixtos y no homogéneos, lo que indica que las políticas de intervención deben considerar el efecto regional del conflicto y no solo tratar cada municipio de manera aislada.

los modelos espaciales utilizados confirman que la variable Ii_2017 es un predictor significativo del nivel de conflicto en 2021, lo que refuerza la hipótesis de que la violencia persiste en territorios específicos y que las intervenciones deben ser diseñadas con una visión a largo plazo para lograr una transformación estructural, finalmente el trabajo resalta que aunque se observa una tendencia general de reducción del conflicto en algunas regiones, la violencia sigue siendo un problema persistente en otras, lo que indica que es necesario reforzar las estrategias de intervención en los municipios con altos niveles de conflicto para evitar la perpetuación de la violencia y garantizar una paz sostenible.