library(kableExtra)
library(dplyr)
library(magrittr)
library(readxl)
library(ggplot2)
library(tidyverse)
library(lubridate)
library(MASS)
library(janitor)
¿Existe una relación significativa entre la región geográfica (Departamento) y la evolución temporal por año en la cantidad de lesiones por accidentes de tránsito registradas?
El efecto de la centralización y densidad vehicular (Geográfica),Existen diferencias geográficas significativas en la cantidad de lesiones por accidentes de tránsito en el país, concentrándose la mayor carga de morbilidad en los departamentos que albergan las principales áreas metropolitanas y centros de actividad económica, debido a la densidad de su parque automotor y a una mayor exposición al riesgo vial.
La distribución espacial de los siniestros viales no es homogénea y responde directamente a la concentración demográfica y a la intensidad de la movilidad urbana. De acuerdo con los reportes del Observatorio Nacional de Seguridad Vial (ONSV, 2024), departamentos como Antioquia, Valle del Cauca y la ciudad de Bogotá D.C. concentran históricamente el mayor número absoluto de lesionados y fallecidos en el país, un fenómeno directamente ligado a que estas regiones concentran también la mayor proporción del Registro Único Nacional de Tránsito (RUNT). Desde una perspectiva global, Rodríguez y Fernández (2018) sostienen que en los entornos urbanos densos de Latinoamérica, la interacción de flujos vehiculares mixtos, la saturación de la infraestructura y los patrones de viajes diarios actúan como catalizadores que elevan significativamente la probabilidad estadística de colisiones con daños corporales en comparación con las zonas periféricas o rurales.
La tendencia temporal de crecimiento impulsada por las motocicletas (Temporal)
La cantidad total de lesiones por accidentes de tránsito presenta una tendencia temporal ascendente y estadísticamente significativa a lo largo de los años analizados, impulsada por el fenómeno de la transición hacia la motorización de dos ruedas y la vulnerabilidad de los actores viales.
A pesar de la implementación de planes nacionales de seguridad, la curva temporal de personas lesionadas en la vía pública no ha mostrado un descenso sostenido. El Instituto Nacional de Medicina Legal y Ciencias Forenses (2023), a través de sus informes históricos en Forensis, demuestra que las lesiones no fatales causadas por el tránsito mantienen un comportamiento incremental a nivel nacional, donde los usuarios de motocicletas representan de manera sistemática la mayor proporción de las víctimas ingresadas por trauma. Este comportamiento se alinea con lo planteado por Bacchieri y Barros (2011), quienes explican que en las economías emergentes de la región, el rápido acceso económico a motovehículos —utilizados tanto para transporte privado como para mensajería y trabajo informal— supera con creces la velocidad con la que las ciudades logran adaptar su infraestructura segura y sus marcos normativos, lo que se traduce en un incremento anual sostenido de la accidentalidad.
# Cargar datos
lecciones_de_Transito<- read.csv("LESIONES_ACCIDENTES_DE_TRÁNSITO_20260622.csv")%>%
clean_names()
Teniendo en cuenta la infomacion de la base de datos decidi tomar todos los datos de los departamentos para organizarlos de mayor a menor segun el total de lesiones de transito en colombia entre el año 2003 y 2026 , Infomacion de https://www.datos.gov.co/Seguridad-y-Defensa/LESIONES-ACCIDENTES-DE-TR-NSITO/ntej-qq7v/about_data.
rango_anios_departamento <- lecciones_de_Transito %>%
rename_all(toupper) %>%
rename_all(~ str_replace_all(., " ", "_")) %>%
mutate(
Fecha = parse_date_time(FECHA_HECHO, orders = c("dmy", "ymd", "mdy", "dmy HMS", "ymd HMS")),
Anio = year(Fecha),
Anio = if_else(is.na(Anio), 2003, Anio),
Departamento = as.factor(DEPARTAMENTO)
) %>%
group_by(Departamento) %>%
summarise(
Anio_Inicial = min(Anio, na.rm = TRUE),
Anio_Final = max(Anio, na.rm = TRUE),
Total_Lesiones = sum(CANTIDAD, na.rm = TRUE),
Periodo_Anio = paste0(Anio_Inicial, "-", Anio_Final),
.groups = "drop"
) %>%
dplyr::select(Departamento, Periodo_Anio, Total_Lesiones) %>%
arrange(desc(Total_Lesiones))
kable(rango_anios_departamento, n = Inf)
| Departamento | Periodo_Anio | Total_Lesiones |
|---|---|---|
| VALLE DEL CAUCA | 2003-2026 | 119227 |
| BOGOTA D.C. | 2003-2026 | 92535 |
| ANTIOQUIA | 2003-2026 | 80445 |
| SANTANDER | 2003-2026 | 71217 |
| CUNDINAMARCA | 2003-2026 | 54437 |
| RISARALDA | 2003-2026 | 50539 |
| TOLIMA | 2003-2026 | 45961 |
| ATLANTICO | 2003-2026 | 33409 |
| CALDAS | 2003-2026 | 33405 |
| HUILA | 2003-2026 | 31944 |
| BOLIVAR | 2003-2026 | 29861 |
| META | 2003-2026 | 26982 |
| NORTE DE SANTANDER | 2003-2026 | 24118 |
| BOYACA | 2003-2026 | 23931 |
| NARIÑO | 2003-2026 | 23382 |
| CORDOBA | 2003-2026 | 20589 |
| QUINDIO | 2003-2026 | 17357 |
| CAUCA | 2003-2026 | 16430 |
| CESAR | 2003-2026 | 12732 |
| MAGDALENA | 2003-2026 | 11699 |
| CASANARE | 2003-2026 | 9138 |
| SUCRE | 2003-2026 | 8109 |
| CAQUETA | 2003-2026 | 6839 |
| LA GUAJIRA | 2003-2026 | 6243 |
| ARAUCA | 2003-2026 | 4800 |
| PUTUMAYO | 2003-2026 | 2831 |
| SAN ANDRES ISLAS | 2003-2026 | 2814 |
| CHOCO | 2003-2026 | 1891 |
| GUAVIARE | 2003-2026 | 1199 |
| AMAZONAS | 2003-2026 | 754 |
| GUAINIA | 2003-2026 | 410 |
| VICHADA | 2004-2026 | 328 |
| VAUPES | 2007-2026 | 61 |
| SIN ESTABLECER | 2015-2016 | 5 |
ggplot(rango_anios_departamento, aes(x = reorder(Departamento, Total_Lesiones), y = Total_Lesiones)) +
geom_col(fill = "OrangeRed", color = "white") +
geom_text(aes(label = Total_Lesiones),
hjust = -0.1,
size = 3.5,
color = "black") +
coord_flip() +
labs(
title = "Lesiones de Accidentes de Tránsito por Departamento",
subtitle = "Ordenado de mayor a menor 2003-2026",
x = "Departamento",
y = "Cantidad Total de Lesiones",
caption = "Fuente: Base de datos procesada"
) +
theme_minimal(base_size = 12) +
scale_y_continuous(expand = expansion(mult = c(0, 0.15))) +
theme(
plot.title = element_text(face = "bold", size = 14),
axis.title = element_text(face = "bold"),
panel.grid.minor = element_blank()
)
Al evaluar este gráfico de barras, confirmo mi Hipótesis 1 al observar
que el riesgo vial se concentra de forma radical en departamentos con
alta densidad vehicular y grandes urbes como Antioquia, Valle del Cauca
y Bogotá D.C. En contraste, las zonas periféricas de la Amazonía y
Orinoquía registran cifras mínimas debido a su baja exposición
automotriz. Esta evidente asimetría e inequidad entre territorios
justifica por qué decidí agrupar los datos en regiones más amplias para
identificar tendencias macro de manera más clara.
Teniendo en cuenta lo anterior para un mejor analisis y sintesis del trabajo agrupo los datos por regiones para dar respuesta al interrogante principal
rango_anios_region <- lecciones_de_Transito %>%
rename_all(toupper) %>%
rename_all(~ str_replace_all(., " ", "_")) %>%
mutate(
Fecha = parse_date_time(FECHA_HECHO, orders = c("dmy", "ymd", "mdy", "dmy HMS", "ymd HMS")),
Anio = year(Fecha),
Anio = if_else(is.na(Anio), 2003, Anio),
Region = case_when(
DEPARTAMENTO %in% c("ANTIOQUIA", "BOGOTA D.C.", "BOYACA", "CALDAS", "CUNDINAMARCA", "HUILA", "NORTE DE SANTANDER", "QUINDIO", "RISARALDA", "SANTANDER", "TOLIMA") ~ "ANDINA",
DEPARTAMENTO %in% c("ATLANTICO", "BOLIVAR", "CESAR", "CORDOBA", "LA GUAJIRA", "MAGDALENA", "SUCRE") ~ "CARIBE",
DEPARTAMENTO %in% c("CAUCA", "CHOCO", "NARIÑO", "VALLE DEL CAUCA") ~ "PACIFICA",
DEPARTAMENTO %in% c("ARAUCA", "CASANARE", "META", "VICHADA") ~ "ORINOQUIA",
DEPARTAMENTO %in% c("AMAZONAS", "CAQUETA", "GUAINIA", "GUAVIARE", "PUTUMAYO", "VAUPES") ~ "AMAZONIA",
DEPARTAMENTO %in% c("SAN ANDRES ISLAS", "SAN ANDRES", "ARCHIPIELAGO DE SAN ANDRES PROVIDENCIA Y SANTA CATALINA") ~ "INSULAR",
TRUE ~ "NO ESPECIFICADO"
)
) %>%
filter(Region != "NO ESPECIFICADO") %>%
group_by(Region) %>%
summarise(
Anio_Inicial = min(Anio, na.rm = TRUE),
Anio_Final = max(Anio, na.rm = TRUE),
Total_Lesiones = sum(CANTIDAD, na.rm = TRUE),
Periodo_Anio = paste0(Anio_Inicial, "-", Anio_Final),
.groups = "drop"
) %>%
dplyr::select(Region, Periodo_Anio, Total_Lesiones) %>%
arrange(desc(Total_Lesiones))
kable(rango_anios_region)
| Region | Periodo_Anio | Total_Lesiones |
|---|---|---|
| ANDINA | 2003-2026 | 525889 |
| PACIFICA | 2003-2026 | 160930 |
| CARIBE | 2003-2026 | 122642 |
| ORINOQUIA | 2003-2026 | 41248 |
| AMAZONIA | 2003-2026 | 12094 |
| INSULAR | 2003-2026 | 2814 |
###Muestra con todos los años de accidentalidad los departamentos
Este analisis de da para evaluar la posible solucion a la hipotesis y calcular el indice de impacto por año de lecciones de transito en cada region
evolucion_temporal_region <- lecciones_de_Transito %>%
rename_all(toupper) %>%
rename_all(~ str_replace_all(., " ", "_")) %>%
mutate(
Fecha = parse_date_time(FECHA_HECHO, orders = c("dmy", "ymd", "mdy", "dmy HMS", "ymd HMS")),
Anio = year(Fecha),
Anio = if_else(is.na(Anio), 2003, Anio),
Region = case_when(
DEPARTAMENTO %in% c("ANTIOQUIA", "BOGOTA D.C.", "BOYACA", "CALDAS", "CUNDINAMARCA", "HUILA", "NORTE DE SANTANDER", "QUINDIO", "RISARALDA", "SANTANDER", "TOLIMA") ~ "ANDINA",
DEPARTAMENTO %in% c("ATLANTICO", "BOLIVAR", "CESAR", "CORDOBA", "LA GUAJIRA", "MAGDALENA", "SUCRE") ~ "CARIBE",
DEPARTAMENTO %in% c("CAUCA", "CHOCO", "NARIÑO", "VALLE DEL CAUCA") ~ "PACIFICA",
DEPARTAMENTO %in% c("ARAUCA", "CASANARE", "META", "VICHADA") ~ "ORINOQUIA",
DEPARTAMENTO %in% c("AMAZONAS", "CAQUETA", "GUAINIA", "GUAVIARE", "PUTUMAYO", "VAUPES") ~ "AMAZONIA",
DEPARTAMENTO %in% c("SAN ANDRES ISLAS", "SAN ANDRES", "ARCHIPIELAGO DE SAN ANDRES PROVIDENCIA Y SANTA CATALINA") ~ "INSULAR",
TRUE ~ "NO ESPECIFICADO"
)
) %>%
filter(Region != "NO ESPECIFICADO") %>%
# Agrupamos por ambas variables para conservar la evolución en el tiempo
group_by(Region, Anio) %>%
summarise(Total_Lesiones = sum(CANTIDAD, na.rm = TRUE), .groups = "drop")
# Mostrar las primeras filas para verificar la estructura
kable(head(evolucion_temporal_region, 10), caption = "Evolución Anual de Lesiones por Región (Muestra)")
| Region | Anio | Total_Lesiones |
|---|---|---|
| AMAZONIA | 2003 | 306 |
| AMAZONIA | 2004 | 236 |
| AMAZONIA | 2005 | 320 |
| AMAZONIA | 2006 | 476 |
| AMAZONIA | 2007 | 522 |
| AMAZONIA | 2008 | 496 |
| AMAZONIA | 2009 | 803 |
| AMAZONIA | 2010 | 452 |
| AMAZONIA | 2011 | 455 |
| AMAZONIA | 2012 | 545 |
· Si, (p-valor \(\ge\) 0.05). no existe evidencia suficiente para afirmar una relación significativa entre la región geográfica y la evolución temporal de las lesiones
# 1. Transformar a tabla de contingencia (Formato Ancho)
tabla_contingencia_region <- evolucion_temporal_region %>%
pivot_wider(names_from = Anio, values_from = Total_Lesiones, values_fill = 0) %>%
column_to_rownames(var = "Region") %>%
as.matrix()
# prueba de Chi-cuadrado de independencia
prueba_chi2_region <- chisq.test(tabla_contingencia_region)
print(prueba_chi2_region)
##
## Pearson's Chi-squared test
##
## data: tabla_contingencia_region
## X-squared = 15468, df = 115, p-value < 2.2e-16
##Grafica de evolucion temporal de cada region
ggplot(evolucion_temporal_region, aes(x = Anio, y = Total_Lesiones, group = Region, color = Region)) +
geom_line(linewidth = 1.2) +
geom_point(size = 2) +
labs(
title = "Evolución Temporal de Lesiones por Accidentes de Tránsito según Región",
subtitle = "Análisis basado en la regionalización del territorio colombiano",
x = "Año del Hecho",
y = "Cantidad Total de Lesiones",
color = "Región Geográfica",
caption = "Fuente: Base de datos procesada"
) +
theme_minimal(base_size = 12) +
theme(
plot.title = element_text(face = "bold", size = 14),
axis.title = element_text(face = "bold"),
legend.position = "bottom"
)
El gráfico me demuestra que el riesgo vial en Colombia está fragmentado geográficamente. La evolución del trauma vial en el tiempo no es un fenómeno nacional uniforme, sino una dinámica dependiente del contexto socioeconómico e infraestructura de cada región.
ggplot(evolucion_temporal_region,aes(x = reorder(Region, Total_Lesiones, FUN = median),y = Total_Lesiones,fill = Region)) +geom_boxplot(alpha = 0.6,
outlier.shape = NA,
color = "grey30") +geom_jitter(aes(color = Region),
width = 0.15,size = 2.5) +
scale_fill_viridis_d(option = "plasma") +
theme_minimal()
La Región Andina se sitúa en la cúspide del gráfico con una diferencia abismal sobre las demás. Esto valida mi Hipótesis 1: la concentración demográfica, las grandes áreas metropolitanas y la altísima densidad vehicular de esta zona absorben la mayor morbilidad vial del país
# Años representativos (hitos cada 5 años + año de cierre) para evitar saturación visual
evolucion_filtrada_heatmap <- evolucion_temporal_region %>%
filter(Anio %in% c(2003, 2008, 2013, 2018, 2023, 2026))
ggplot(evolucion_filtrada_heatmap, aes(x = factor(Anio), y = reorder(Region, Total_Lesiones, FUN = sum), fill = Total_Lesiones)) +
geom_tile(color = "white", lwd = 0.5, linetype = 1) +
geom_text(aes(label = scales::comma(Total_Lesiones, decimal.mark = ",", big.mark = ".")),
color = "white",
size = 3.2,
fontface = "bold") +
# Títulos
labs(
title = "Mapa de Calor: Distribución de Lesiones de Tránsito por Región y Año",
subtitle = "Representación de densidad de frecuencia absoluta (Periodo 2003-2026)",
x = "Año del Hecho",
y = "Región Geográfica",
fill = "Total Lesiones",
caption = "Fuente: Base de datos procesada - Paleta Inferno (Años seleccionados)"
) +
scale_fill_viridis_c(option = "inferno", labels = scales::comma_format(decimal.mark = ",", big.mark = ".")) +
scale_x_discrete(labels = function(x) paste("Año", x)) +
theme_minimal(base_size = 12) +
theme(
plot.title = element_text(face = "bold", size = 13, color = "grey10"),
plot.subtitle = element_text(face = "italic", size = 10, color = "grey40"),
axis.title = element_text(face = "bold"),
axis.text.x = element_text(face = "bold", color = "grey20"),
axis.text.y = element_text(face = "bold", color = "grey20"),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
legend.position = "right"
)
Al examinar este mapa de calor, confirmo nuestra prueba estadística al observar cómo el riesgo se concentra drásticamente en la Región Andina (tonos claros/amarillos), pasando de 8.250 a 21.500 lesiones (Hipótesis 1). Asimismo, el aclaramiento progresivo de las celdas hacia el año 2026 en las regiones Andina, Caribe y Pacífica evidencia que el incremento temporal de la accidentalidad (Hipótesis 2) ocurre a ritmos muy asimétricos, dejando rezagadas y en coloración oscura a las regiones periféricas debido a su baja densidad vehicular.
Tras analizar estadísticamente los datos agrupados por nuestras regiones definidas (Andina, Caribe, Pacífica, Orinoquía, Amazonía e Insular) a lo largo de la serie temporal evaluada, concluyo que sí existe una relación altamente significativa entre la región geográfica y la evolución temporal por año en la cantidad de lesiones por accidentes de tránsito registradas.
Esta conclusión se sustenta en el resultado de la prueba de Chi-cuadrado de independencia, la cual arrojó un estadístico \(X^2 = 15468\) con un p-valor \(< 2.2 \times 10^{-16}\), permitiéndome rechazar con total certeza la hipótesis de independencia.
A partir de este hallazgo, logro validar e integrar las dos hipótesis que planteé al inicio de mi investigación: onfirmo que la distribución espacial del trauma vial no es homogénea en el territorio nacional. Regiones con una alta centralización demográfica y saturación del parque automotor —como la Región Andina y la Región Pacífica— no solo cargan con el mayor volumen absoluto de lesionados, sino que experimentan dinámicas de riesgo vial condicionadas por sus entornos urbanos y áreas metropolitanas
· Bacchieri, G., & Barros, A. J. (2011). Traffic accidents in Brazil: a review of standard trends and future challenges. Revista de Saúde Pública, 45(6), 1192–1200. https://doi.org/10.1590/S0034-89102011005000084
· Instituto Nacional de Medicina Legal y Ciencias Forenses. (2023). Forensis, Datos para la Vida: Comportamiento de lesiones por accidentes de tránsito, Colombia 2022. Grupo Centro de Referencia Nacional sobre Violencia.
· Observatorio Nacional de Seguridad Vial [ONSV]. (2024). Boletín estadístico anual de siniestralidad vial en Colombia. Agencia Nacional de Seguridad Vial (ANSV). https://ansv.gov.co/es/observatorio/estadisticas
· Rodríguez, D. A., & Fernández, J. (2018). Spatial analysis of traffic fatalities and injuries in Latin American cities: The role of urban form and transport systems. Journal of Transport & Health, 10, 234–245. https://doi.org/10.1016/j.jth.2018.06.005