Introducción

El presente informe tiene como propósito analizar los comparendos de tránsito registrados durante el año 2010, con el objetivo de identificar los tipos de vehículos con mayor número de infracciones, las conductas más recurrentes y los valores económicos asociados a las sanciones impuestas.

Mediante el uso del software estadístico RStudio, se realiza un análisis descriptivo que permite comprender el comportamiento general de las infracciones de tránsito durante dicho periodo. Este estudio pretende servir como una herramienta de apoyo para la toma de decisiones, la formulación de estrategias preventivas y el fortalecimiento de las políticas públicas orientadas a mejorar la seguridad vial.

El documento se organiza en cuatro secciones principales:

  1. Exploración inicial de los datos, donde se describen las variables y la estructura general de la base.

  2. Análisis descriptivo, enfocado en la distribución de los comparendos según tipo de vehículo e infracción.

  3. Análisis económico, que examina los montos totales y promedios de las sanciones.

  4. Conclusiones, que presentan una síntesis de los hallazgos y recomendaciones derivadas del análisis.

Exploración inicial de los datos

A continuación se realiza una descripción general de los comparendos de tránsito del año 2010, enfocandonos en las variables principales: tipo de vehículo, tipo de infracción y valor económico asociado a las multas, esto con el fin de entender más y contextualizar todo el asunto de este informe.

Vista preliminar de los registros

El siguiente cuadro muestra una vista preliminar de las primeras filas del conjunto de datos, lo que permite confirmar su estructura y formato.

Lista_Comparendos %>%
head(10) %>%
kbl(caption = "Primeras 10 filas de la base de datos de comparendos", align = "c") %>%
kable_styling(
bootstrap_options = c("striped", "hover", "condensed", "responsive"),
full_width = TRUE,
font_size = 13
)
Primeras 10 filas de la base de datos de comparendos
No. MANDAMIENTO DE PAGO FECHA MANDAMIENTO DE PAGO EJECUTADO TIPO DE IDENTIFICACION No. IDENTIFICACION SEXO COD. INFRACCION COMPARENDO FECHA DE COMPARENDO FECHA AÑO DIA MES NOMBRE DEL MES PACA DE VEHICULO TIPO DE VEHICULO VALOR_A_PAGAR
F00002658 19/08/2010 RAMIRO ANTONIO PEREZ HERRERA Cedula de Ciudadanía 72127412 HOMBRE 67 F00007946 40302 2010-05-04 2010 4 5 Mayo QHO294 CARRO 438900
F00004304 19/08/2010 TRANSPORTES MST Y CIA S. EN C Nit 9001288484 EMPRESA 64 F0000469 40281 2010-05-05 2010 13 4 Abril UYU967 CARRO 438900
F00001544 19/08/2010 NANCY ANGELICA GARCIA DUARTE Cedula de Ciudadanía 22692743 MUJER 64 F0000925 40283 2010-05-06 2010 15 4 Abril UYZ604 CARRO 438900
F00001578 19/08/2010 FILOMENA DEL SOCORRO MARTINEZ ROMERO Cedula de Ciudadanía 23179461 MUJER 64 F0000160 40280 2010-05-07 2010 12 4 Abril EDN17B MOTO 438900
F00001372 19/08/2010 SHENYS PAOLA RICO OSPINO Cedula de Ciudadanía 22516592 MUJER 64 F00004537 40294 2010-05-08 2010 26 4 Abril BXF75A MOTO 438900
F00001401 19/08/2010 LISBETH MARTINEZ SARMIENTO Cedula de Ciudadanía 22533914 MUJER 64 F00005427 40298 2010-05-09 2010 30 4 Abril BVZ71A MOTO 438900
F00001473 19/08/2010 MERY DEL CARMEN PACHECO SERRANO Cedula de Ciudadanía 22615434 MUJER 64 F00014363 40321 2010-05-10 2010 23 5 Mayo BWX93A MOTO 438900
F00002953 19/08/2010 MIGUEL HERNANDO GARAY CALLE Cedula de Ciudadanía 72222136 HOMBRE 76 F00000693 40282 2010-05-11 2010 14 4 Abril BSB95A MOTO 438900
F00003518 19/08/2010 COOTRANSCO LTDA Nit 800161062 EMPRESA 77 F00014863 40322 2010-05-12 2010 24 5 Mayo UYN964 CARRO 438900
F00003542 19/08/2010 COOTRAB Nit 800222724 EMPRESA 77 F00001740 40286 2010-05-13 2010 18 4 Abril UYM220 CARRO 438900

Resumen estadístico de variables numéricas

Lista_Comparendos %>%
select(where(is.numeric)) %>%
summary() %>%
kbl(caption = "Resumen estadístico de las variables numéricas", align = "c") %>% # Alinea el contenido de las columnas al centro
kable_styling(
bootstrap_options = c("striped", "hover", "condensed", "responsive"),
full_width = TRUE,
font_size = 13
)
Resumen estadístico de las variables numéricas
No. IDENTIFICACION COD. INFRACCION FECHA DE COMPARENDO AÑO DIA MES VALOR_A_PAGAR
Min. :2.358e+05 Min. :64.00 Min. :40280 Min. :2010 Min. : 1.00 Min. :4.000 Min. :438900
1st Qu.:3.273e+07 1st Qu.:64.00 1st Qu.:40295 1st Qu.:2010 1st Qu.: 9.00 1st Qu.:4.000 1st Qu.:438900
Median :7.214e+07 Median :64.00 Median :40304 Median :2010 Median :16.00 Median :5.000 Median :438900
Mean :8.476e+08 Mean :66.53 Mean :40304 Mean :2010 Mean :15.76 Mean :4.664 Mean :438900
3rd Qu.:8.002e+08 3rd Qu.:64.00 3rd Qu.:40314 3rd Qu.:2010 3rd Qu.:23.00 3rd Qu.:5.000 3rd Qu.:438900
Max. :9.003e+09 Max. :77.00 Max. :40325 Max. :2010 Max. :30.00 Max. :5.000 Max. :438900

Aqui se proporciona una visión general de las variables cuantitativas (como los valores de las multas), mostrando medidas como el mínimo, máximo, media y percentiles.

Análisis descriptivo

El presente análisis descriptivo busca examinar la distribución de los comparendos de tránsito registrados durante el año 2010, con el fin de identificar patrones relevantes en la aplicación de sanciones.

Se analizan variables como el tipo de vehículo, el código de infracción y el género del infractor, lo cual permite obtener una visión clara del comportamiento general de las infracciones.

A través de gráficos y resúmenes estadísticos, se pretende evidenciar las categorías más representativas y los grupos con mayor participación en la comisión de faltas, aportando así una base sólida para posteriores interpretaciones y conclusiones.

Distribución de comparendos por tipo de vehículo

El siguiente gráfico muestra la cantidad de comparendos registrados según el tipo de vehículo involucrado en las infracciones:

# Calcula el número de comparendos por tipo de vehículo
comparendos_tipo <- Lista_Comparendos %>%
  count(`TIPO DE VEHICULO`)

# Gráfico con etiquetas
ggplot(comparendos_tipo, aes(x = reorder(`TIPO DE VEHICULO`, n), y = n, fill = `TIPO DE VEHICULO`)) +
  geom_col(show.legend = FALSE) +
  geom_text(aes(label = n),
            hjust = -0.1,
            size = 3.5,
            color = "black") +
  coord_flip() +
  labs(title = "Número de comparendos por tipo de vehículo",
       x = "Tipo de vehículo",
       y = "Cantidad de comparendos") +
  theme_minimal() +
  expand_limits(y = max(comparendos_tipo$n) * 1.1)  # Aquí usamos el objeto creado arriba

Se observa que los vehículos con mayor número de comparendos corresponden a los tipos más comunes en circulación, destacándose motocicletas y automóviles particulares.

Infracciones más frecuentes

El siguiente análisis identifica las infracciones más comunes registradas durante el año 2010.

# Calcular las 10 infracciones más comunes
infracciones_top10 <- Lista_Comparendos %>%
  count(`COD. INFRACCION`) %>%
  arrange(desc(n)) %>%
  slice(1:10)

# Gráfico con etiquetas
ggplot(infracciones_top10, aes(x = reorder(`COD. INFRACCION`, n), y = n, fill = `COD. INFRACCION`)) +
  geom_col(show.legend = FALSE) +
  geom_text(aes(label = n),
            hjust = -0.1,        # Coloca el texto ligeramente fuera de la barra
            size = 3.5,
            color = "black") +
  coord_flip() +
  labs(
    title = "Top 10 de infracciones más comunes (2010)",
    x = "Código de infracción",
    y = "Número de comparendos"
  ) +
  theme_minimal() +
  expand_limits(y = max(infracciones_top10$n) * 1.1)  # Aumenta el espacio para las etiquetas

Este gráfico muestra las infracciones más frecuentes, permitiendo identificar los comportamientos que más infringen la normativa de tránsito durante el año analizado.

Comparendos por género (SEXO)

Este gráfico muestra la proporción de comparendos entre hombres y mujeres.

Generalmente, los hombres presentan una mayor participación en la comisión de infracciones, posiblemente por su predominio en la conducción de motocicletas y transporte público.

# Gráfico de comparendos por género con etiquetas
comparendos_genero <- Lista_Comparendos %>%
  filter(SEXO %in% c("HOMBRE", "MUJER")) %>%
  count(SEXO)

ggplot(comparendos_genero, aes(x = SEXO, y = n, fill = SEXO)) +
  geom_col(show.legend = FALSE) +  # Crea las barras
  geom_text(aes(label = n),        # Agrega etiquetas con el valor
            vjust = -0.5,          # Coloca el texto sobre la barra
            size = 4,
            color = "black") +
  labs(
    title = "Distribución de comparendos por género",
    x = "Sexo",
    y = "Cantidad de comparendos"
  ) +
  theme_minimal() +
  expand_limits(y = max(comparendos_genero$n) * 1.1)  # Añade espacio arriba para no cortar etiquetas

Análisis económico

En esta sección se realiza un análisis económico orientado a evaluar el impacto financiero de las infracciones de tránsito.

Se examinan los valores totales y promedios de las multas, desagregados por tipo de vehículo y tipo de infracción, con el objetivo de identificar aquellas categorías que representan un mayor peso económico.

Este enfoque permite cuantificar el costo de las infracciones en el contexto del año 2010 y aporta información útil para la formulación de políticas de control, educación y seguridad vial, basadas en la evidencia y el comportamiento financiero de los comparendos.

Monto promedio por tipo de infracción

# Calcular monto promedio por tipo de infracción (Top 10)
monto_promedio <- Lista_Comparendos %>%
  group_by(`COD. INFRACCION`) %>%
  summarise(Promedio_Pago = mean(VALOR_A_PAGAR, na.rm = TRUE)) %>%
  slice_max(Promedio_Pago, n = 10)

# Gráfico de barras horizontales con etiquetas claras
ggplot(monto_promedio, aes(x = reorder(`COD. INFRACCION`, Promedio_Pago), 
                           y = Promedio_Pago, fill = `COD. INFRACCION`)) +
  geom_col(show.legend = FALSE) +
  geom_text(aes(label = scales::comma(round(Promedio_Pago, 0))), 
            hjust = -0.1, size = 3.5, color = "black") +  # Etiquetas al final de la barra
  coord_flip() +
  scale_y_continuous(labels = scales::comma) +
  labs(
    title = "Monto promedio a pagar por tipo de infracción (Top 10)",
    x = "Código de infracción",
    y = "Promedio del valor ($)"
  ) +
  theme_minimal() +
  expand_limits(y = max(monto_promedio$Promedio_Pago) * 1.1)

Se identifican las infracciones con mayor monto promedio, lo cual sugiere la gravedad de las conductas sancionadas.

Este indicador permite enfocar los controles en las faltas con mayor impacto económico y social.

Valor total de comparendos por tipo de vehículo

# Calcular el valor total de comparendos por tipo de vehículo
valor_total <- Lista_Comparendos %>%
  group_by(`TIPO DE VEHICULO`) %>%
  summarise(Total_Pagar = sum(VALOR_A_PAGAR, na.rm = TRUE))

# Gráfico con etiquetas y barras horizontales
ggplot(valor_total, aes(x = reorder(`TIPO DE VEHICULO`, Total_Pagar), 
                        y = Total_Pagar, fill = `TIPO DE VEHICULO`)) +
  geom_col(show.legend = FALSE) +
  geom_text(aes(label = scales::comma(round(Total_Pagar, 0))),  # Agrega etiquetas con separador de miles
            hjust = -0.1, size = 3.5, color = "black") +
  coord_flip() +
  scale_y_continuous(labels = scales::comma) +
  labs(
    title = "Valor total de comparendos por tipo de vehículo",
    x = "Tipo de vehículo",
    y = "Valor total ($)"
  ) +
  theme_minimal() +
  expand_limits(y = max(valor_total$Total_Pagar) * 1.1)  # Deja espacio para las etiquetas

El valor total muestra el impacto económico por categoría vehicular, destacándose los vehículos con más infracciones y mayor costo acumulado en sanciones.

Comparendos por mes

# Contar comparendos por mes
comparendos_mes <- Lista_Comparendos %>%
  count(`NOMBRE DEL MES`)

# Gráfico con etiquetas y línea de tendencia
ggplot(comparendos_mes, aes(x = factor(`NOMBRE DEL MES`, levels = unique(`NOMBRE DEL MES`)),
                            y = n, group = 1)) +
  geom_line(color = "darkgreen", size = 1.2) +        # Línea de tendencia
  geom_point(size = 3, color = "black") +             # Puntos en cada mes
  geom_text(aes(label = n),                           # Etiquetas sobre los puntos
            vjust = -0.5, size = 3.5, color = "black") +
  labs(
    title = "Tendencia mensual de comparendos en 2010",
    x = "Mes",
    y = "Cantidad de comparendos"
  ) +
  theme_minimal() +
  theme(
    plot.title = element_text(face = "bold", size = 14, hjust = 0.5),
    axis.text.x = element_text(angle = 45, hjust = 1) # Inclina los nombres de los meses para que no se monten
  )

La tendencia mensual permite identificar picos de infracciones a lo largo del año, posiblemente relacionados con temporadas de mayor movilidad o eventos específicos.

Conclusiones

En términos generales, los resultados del análisis evidencian que los comparendos de tránsito se concentran principalmente en motocicletas y automóviles, reflejando el predominio de estos vehículos en la movilidad urbana. Asimismo, se observa que los hombres presentan un número significativamente mayor de sanciones, lo que se asocia con su mayor participación en la conducción. Algunas infracciones destacan no solo por su frecuencia, sino también por los elevados montos promedio que implican, indicando su gravedad y el riesgo que representan para la seguridad vial. Por otro lado, el comportamiento mensual de los comparendos permite identificar periodos críticos del año, útiles para planificar estrategias de control y prevención más efectivas. En conjunto, estos hallazgos subrayan la necesidad de fortalecer la cultura y la educación vial como mecanismos clave para reducir la incidencia de infracciones y mejorar la seguridad en las vías.

Referencias técnicas

El análisis y la visualización de datos fueron realizados empleando el lenguaje de programación R y las siguientes librerías:

  • tidyverse: colección de paquetes para manipulación, transformación y visualización de datos (incluye dplyr, ggplot2, readr, entre otros).
  • readxl: permite importar archivos de Excel (.xlsx) a R de manera sencilla.
  • kableExtra: facilita la creación de tablas con formato avanzado en documentos HTML y PDF generados con R Markdown.
  • scales (integrado en tidyverse): utilizado para formatear valores numéricos y etiquetas en los gráficos.
  • knitr: herramienta para compilar el informe y generar visualizaciones reproducibles dentro del documento.