Introduccion

El estudio de los comparendos representa una herramienta clave para analizar el comportamiento de la movilidad y el grado de acatamiento de las normas de tránsito en una región específica. En este caso, se abordan los registros correspondientes a los meses de abril y mayo de 2010 en el departamento del Atlántico, Colombia, con base en datos obtenidos mediante sistemas de control vial y proporcionados con fines investigativos. Este análisis no solo pretende evidenciar las infracciones más comunes y los actores más involucrados, sino también identificar tendencias horarias, geográficas y cotidianas que inciden en la frecuencia de estas conductas, información crucial para el diseño de estrategias de prevención y control más eficaces.

Ver columnas tecnico del Dataframe
colnames(df)
##  [1] "No. MANDAMIENTO DE PAGO"   "FECHA MANDAMIENTO DE PAGO"
##  [3] "EJECUTADO"                 "TIPO DE IDENTIFICACION"   
##  [5] "No. IDENTIFICACION"        "SEXO"                     
##  [7] "COD. INFRACCION"           "NOMBRE_DE_INFRACCION"     
##  [9] "INFRACCION_CORTA"          "COMPARENDO"               
## [11] "FECHA DE COMPARENDO"       "FECHA"                    
## [13] "AÑO"                       "DIA"                      
## [15] "MES"                       "NOMBRE DEL MES"           
## [17] "PLACA DE VEHICULO"         "TIPO DE VEHICULO"         
## [19] "COSTO"
Ver resumen tecnico del Dataframa
summary(df)
##  No. MANDAMIENTO DE PAGO FECHA MANDAMIENTO DE PAGO  EJECUTADO        
##  Length:2119             Length:2119               Length:2119       
##  Class :character        Class :character          Class :character  
##  Mode  :character        Mode  :character          Mode  :character  
##                                                                      
##                                                                      
##                                                                      
##  TIPO DE IDENTIFICACION No. IDENTIFICACION      SEXO           COD. INFRACCION
##  Length:2119            Min.   :2.358e+05   Length:2119        Min.   :64.00  
##  Class :character       1st Qu.:3.273e+07   Class :character   1st Qu.:64.00  
##  Mode  :character       Median :7.214e+07   Mode  :character   Median :64.00  
##                         Mean   :8.480e+08                      Mean   :66.53  
##                         3rd Qu.:8.002e+08                      3rd Qu.:64.00  
##                         Max.   :9.003e+09                      Max.   :77.00  
##  NOMBRE_DE_INFRACCION INFRACCION_CORTA    COMPARENDO        FECHA DE COMPARENDO
##  Length:2119          Length:2119        Length:2119        Min.   :40280      
##  Class :character     Class :character   Class :character   1st Qu.:40295      
##  Mode  :character     Mode  :character   Mode  :character   Median :40304      
##                                                             Mean   :40304      
##                                                             3rd Qu.:40314      
##                                                             Max.   :40325      
##      FECHA                             AÑO            DIA       
##  Min.   :2010-04-12 00:00:00.00   Min.   :2010   Min.   : 1.00  
##  1st Qu.:2010-04-27 00:00:00.00   1st Qu.:2010   1st Qu.: 9.00  
##  Median :2010-05-06 00:00:00.00   Median :2010   Median :16.00  
##  Mean   :2010-05-05 16:38:16.93   Mean   :2010   Mean   :15.76  
##  3rd Qu.:2010-05-16 00:00:00.00   3rd Qu.:2010   3rd Qu.:23.00  
##  Max.   :2010-05-27 00:00:00.00   Max.   :2010   Max.   :30.00  
##       MES        NOMBRE DEL MES     PLACA DE VEHICULO  TIPO DE VEHICULO  
##  Min.   :4.000   Length:2119        Length:2119        Length:2119       
##  1st Qu.:4.000   Class :character   Class :character   Class :character  
##  Median :5.000   Mode  :character   Mode  :character   Mode  :character  
##  Mean   :4.664                                                           
##  3rd Qu.:5.000                                                           
##  Max.   :5.000                                                           
##      COSTO       
##  Min.   :257500  
##  1st Qu.:257500  
##  Median :257500  
##  Mean   :304650  
##  3rd Qu.:257500  
##  Max.   :515000


1. Evolucion de los comparendos a través del tiempo.

El gráfico evidencia una marcada variación en la imposición de comparendos entre días laborales y fines de semana durante abril y mayo de 2010. Se observa que los picos más altos coinciden principalmente con sábados y domingos, superando los 80 comparendos diarios, mientras que los días de semana registran cifras más bajas, en rangos de 20 a 40 comparendos. Esta tendencia sugiere que la mayor incidencia de infracciones ocurre en momentos de mayor movilidad recreativa y social, probablemente asociada a desplazamientos no rutinarios, consumo de alcohol o relajación de las normas de tránsito durante los fines de semana, mientras que los días laborales presentan un flujo más predecible y menor propensión a infracciones graves, reflejando patrones cotidianos de desplazamiento hacia actividades productivas.

df %>%
  count(FECHA) %>% # Contar comparendos por fecha
  ggplot(aes(x = FECHA, y = n)) + # Definir Ejes
  geom_line(color = "steelblue") + # Colorear
  labs(title = "Comparendos por Día", x = "Fecha", y = "Cantidad de Comparendos") +
  theme_minimal() # Titulos

2. Comparendos por días de la semana

El estudio de los comparendos muestra una clara relación entre la cantidad de infracciones y la distribución de los días de la semana. Durante la jornada laboral (lunes a viernes), las cifras se mantienen en niveles moderados, destacando el jueves como el día con menor incidencia. En contraste, los fines de semana presentan un repunte notorio, con el domingo registrando el mayor número de comparendos. Esta variación refleja cómo la movilidad se intensifica en contextos recreativos y de ocio, donde suelen incrementarse factores de riesgo como el tráfico nocturno, la relajación en el cumplimiento de las normas y el consumo de alcohol, generando un aumento considerable en las infracciones viales.

df <- df %>%
  mutate(
    DIA = as.Date(FECHA) # Convertimos en Fecha
  ) %>%
  mutate(
    DIA_SEMANA = tolower(weekdays(DIA))  # Nombres de días en español
  )

# 2) Ordenar los días y contar
niveles <- c("lunes","martes","miércoles","jueves","viernes","sábado","domingo")
df_semana <- df %>%
  mutate(DIA_SEMANA = factor(DIA_SEMANA, levels = niveles)) %>% # convierte DIA_SEMANA en factor ordenado según los días de la semana
  count(DIA_SEMANA, name = "comparendos") # Contamos los comparendos de cada dia

# 3) Graficar (línea + marcadores + etiquetas)
ggplot(df_semana, aes(x = DIA_SEMANA, y = comparendos, group = 1)) +
  geom_line(linewidth = 1, color="steelblue") +
  geom_point(size = 2) +
  geom_text(aes(label = comparendos), vjust = -0.6, size = 3) +
  labs(title = "Comparendos por día de la semana", x = "Día", y = "Cantidad") +
  theme_minimal()

3. Comparendos por género/empresa.

El análisis de la distribución de comparendos según género y tipo de actor evidencia que las mujeres concentran la mayor cantidad de infracciones con 970 casos, seguidas por los hombres con 677, y en menor medida las empresas con 472. Este hallazgo contrasta con la percepción habitual de que las mujeres infringen menos las normas de tránsito, mostrando que su participación en este tipo de conductas es incluso superior a la de los hombres. Por otra parte, aunque las empresas registran un número más bajo, su relevancia radica en el impacto potencial que generan, dado que suelen estar vinculadas al transporte de pasajeros o carga, lo cual incrementa el nivel de responsabilidad y el alcance de sus infracciones.

df %>%
  count(SEXO) %>% # contamos cantidad de comparendos por sexo/empresa
  ggplot(aes(x = reorder(SEXO, -n), y = n, fill = SEXO)) + # eje X ordenado de mayor a menor
  geom_col() + # gráfico de barras
  geom_text(aes(label = n), vjust = -0.3, size = 4, color = "black") + # muestra valores encima de cada barra
  scale_fill_manual(values = c( # colores personalizados por categoría
    "MUJER" = "steelblue",
    "HOMBRE" = "cyan",
    "EMPRESA" = "blue"
  )) +
  labs(
    title = "Distribucion de Comparendos por Sexo/Empresa", # título del gráfico
    x = "Sexo",
    y = "Cantidad"
  ) +
  theme_minimal() + # estilo de gráfico limpio
  theme(legend.position = "none") # elimina la leyenda (porque los colores ya están en las barras)

4. Las infracciones con mayor recaudo.

El análisis del top de infracciones con mayor generación de recaudo revela que la principal fuente de ingresos corresponde a las multas por exceso de velocidad, alcanzando 418.695.000, una cifra ampliamente superior al resto de las faltas. En segundo lugar se encuentra la infracción por no acatar semáforos o señales de alto, con 197.760.000, evidenciando la relevancia de los controles en puntos críticos de la vía. En comparación, conductas como no ceder el paso a peatones (27.037.500) o circular en sentido contrario (2.060.000) tienen un peso económico significativamente menor. Estos datos reflejan que las infracciones asociadas a la velocidad y al respeto de las señales viales no solo son las más comunes, sino también las que más contribuyen al ingreso económico derivado de las sanciones de tránsito.

# Agrupamos y sumamos el costo
df_top10 <- df %>%
  group_by(INFRACCION_CORTA) %>% # agrupamos por tipo de infracción
  summarise(Total_Recaudado = sum(COSTO, na.rm = TRUE)) %>% # sumamos el costo por infracción
  arrange(desc(Total_Recaudado)) %>% # ordenamos de mayor a menor
  slice_head(n = 10) # tomamos solo el top 10

# Gráfico de barras con el top 10
ggplot(df_top10, aes(x = reorder(INFRACCION_CORTA, Total_Recaudado),
                     y = Total_Recaudado)) +
  geom_col(fill = "#56B4E9") + # barras en color azul claro
  geom_text(aes(label = scales::comma(Total_Recaudado)),   # agregamos etiquetas con separador de miles
            hjust = -0.1,   # desplazamos el texto un poco a la derecha (porque usamos coord_flip)
            size = 3) +     # tamaño del texto
  coord_flip() + # invierte los ejes → gráfico horizontal
  labs(title = "Infracciones con mayor recaudo", # título del gráfico
       x = "Infraccion", # eje X
       y = "Total Recaudado") + # eje Y
  scale_y_continuous(labels = comma, # formato numérico con comas
                     expand = expansion(mult = c(0, 0.3))) + # deja espacio extra a la derecha para etiquetas
  theme_minimal() # estilo limpio

5. Comparendos por tipos de vehículo.

El análisis de la cuarta consulta evidencia una diferencia significativa en la distribución de comparendos según el tipo de vehículo. Los automóviles concentran la mayor parte de las infracciones, con 1.937 casos, mientras que las motocicletas registran solo 182. Esta brecha sugiere que los autos son el principal origen de conductas infractoras durante el periodo analizado, probablemente debido a su mayor volumen de circulación y a ciertos hábitos de conducción asociados. No obstante, aunque las motocicletas presentan una cifra mucho menor, continúan siendo un grupo de atención importante por el nivel de vulnerabilidad y el riesgo vial que caracteriza a este medio de transporte.

df %>%
  count(`TIPO DE VEHICULO`) %>% # contamos comparendos por tipo de vehículo
  ggplot(aes(x = reorder(`TIPO DE VEHICULO`, -n), y = n)) + # ordenamos de mayor a menor en el eje X
  geom_col(fill = "steelblue") + # barras en color azul
  geom_text(aes(label = n), vjust = -0.3, size = 4) + # mostramos la cantidad encima de cada barra
  labs(
    title = "Comparendos por Tipo de Vehiculo", # título del gráfico
    x = "Tipo de Vehiculo", # etiqueta eje X
    y = "Cantidad" # etiqueta eje Y
  ) +
  theme_minimal()

6. Comparendos por mes.

El análisis revela que en mayo se contabilizaron 1.408 comparendos, frente a los 711 registrados en abril, lo que representa un incremento cercano al doble en comparación con el mes previo. Este aumento podría estar relacionado con un mayor flujo vehicular, la implementación de operativos más rigurosos o una frecuencia más alta de reincidencia en las infracciones durante ese periodo. En definitiva, mayo se consolida como el mes con mayor concentración de comparendos, lo que subraya la importancia de fortalecer las estrategias de control y las campañas de sensibilización vial en ese lapso.

df %>%
count(`NOMBRE DEL MES`) %>% # Cuenta comparendos por mes
ggplot(aes(x = reorder(`NOMBRE DEL MES`, -n), y = n)) + # Ordena barras por cantidad
geom_col(fill = "steelblue") + # Colocamos color
geom_text(aes(label = n), vjust = -0.3, size = 4) + # Etiquetas
labs(title = "Comparendos por mes", x = "Mes", y = "Cantidad") +
theme_minimal()

7. Top Personas con más comparendos.

El análisis del top 10 de personas con mayor número de comparendos muestra una notable concentración en un único infractor: Liliana Rozo Pinzón, con 27 comparendos, superando ampliamente al resto de la lista. Le siguen Elvira del Carmen Garrido Arevalo con 10 y Miguel Hernando Garay Calle con 9, mientras que el resto de los infractores se encuentran en un rango de 6 a 8 comparendos. Esta disparidad refleja que, si bien existe un grupo reducido de personas con alta reincidencia, la mayoría mantiene cifras considerablemente menores. Este comportamiento sugiere que la reincidencia de algunos individuos específicos puede tener un peso relevante en las estadísticas generales y resalta la necesidad de estrategias focalizadas de control y educación vial para estos casos reiterativos.

df %>%
  filter(SEXO != "EMPRESA") %>% # Filtramos la columna empresa
  count(EJECUTADO, sort = TRUE) %>% # contamos comparendos por persona y ordenamos descendente
  slice_max(n, n = 10, with_ties = FALSE) %>%   # tomamos exactamente las 10 primeras personas
  ggplot(aes(x = reorder(EJECUTADO, n), y = n)) + # eje X ordenado por cantidad de comparendos
  geom_col(fill = "steelblue") + # barras en color azul
  geom_text(aes(label = n), hjust = -0.3, size = 3) + # agregamos número de comparendos al lado de cada barra
  coord_flip() + # gráfico horizontal (mejor legibilidad de nombres)
  labs(
    title = "Top personas con más comparendos", # título del gráfico
    x = "Nombre", # eje X (nombres de personas)
    y = "Cantidad" # eje Y (cantidad de comparendos)
  ) +
  theme_minimal()

Conclusion.

En conclusión, el análisis de los comparendos registrados durante abril y mayo de 2010 en el departamento del Atlántico evidencia patrones claros tanto en la distribución temporal como en los actores involucrados. Se observa un incremento significativo de infracciones en mayo respecto a abril, con picos concentrados en fines de semana, lo que sugiere una relación directa entre la dinámica social y el aumento de conductas infractoras. Asimismo, destacan las multas por exceso de velocidad y desobedecer señales de tránsito como las principales fuentes de recaudo, mientras que los automóviles son el tipo de vehículo más asociado a estas infracciones. En cuanto a la reincidencia, aunque existe un grupo reducido de personas con un alto número de comparendos, la mayoría mantiene cifras moderadas. Estos hallazgos subrayan la importancia de fortalecer campañas de educación vial, implementar controles focalizados en periodos y zonas críticas, y diseñar estrategias que atiendan tanto a los infractores recurrentes como a los factores contextuales que favorecen la comisión de faltas.