El presente informe tiene como finalidad analizar la base de datos Comparendos, la cual recopila información relacionada con los mandamientos de pago derivados de infracciones de tránsito. El análisis se orienta a identificar patrones en la comisión de infracciones, así como la distribución de comparendos según sexo, tipo de vehículo, comportamiento temporal y valores asociados.
El conjunto de datos está compuesto por 2.120 registros y 17 variables, que incluyen información del infractor, características de la infracción, fechas relevantes, tipo de vehículo y los montos correspondientes a cada comparendo.
En este proyecto se utilizan las siguientes librerías de R:
grafico_sexo <- Comparendos %>%
mutate(sexo = as.factor(sexo)) %>%
group_by(sexo) %>%
summarise(total = n()) %>%
mutate(
porcentaje = round((total / sum(total)) * 100, 1),
etiqueta = paste0(sexo, " (", porcentaje, "%)")
) %>%
ggplot(aes(x = "", y = total, fill = sexo)) +
geom_bar(stat = "identity", width = 1, color = "black") +
coord_polar("y", start = 0) +
scale_fill_manual(values = c("#005227", "#038554", "#03bb85", "#68ddbd", "#a4fff7")) +
geom_text(aes(label = etiqueta),
position = position_stack(vjust = 0.5),
size = 4, color = "black") +
labs(
title = "Distribución de comparendos por sexo",
fill = "Sexo"
) +
theme_minimal() +
theme(
plot.title = element_text(hjust = 0.5, size = 14, face = "bold"),
axis.title = element_blank(),
axis.text = element_blank(),
axis.ticks = element_blank(),
panel.grid = element_blank()
)
grafico_sexoLa distribución de los comparendos evidencia una mayor participación de las mujeres, quienes concentran 44.6% de los registros. Les siguen los hombres con 29.0%, mientras que las empresas representan 22.3% y los casos clasificados como “cédula nueva” corresponden al 4.2%. Esta distribución sugiere que, en el periodo analizado (abril y mayo de 2010), una proporción importante de los vehículos registrados o sancionados estaba asociada a mujeres, lo que se refleja en su mayor participación en los comparendos. La presencia de las empresas con más de una quinta parte de los casos puede explicarse por infracciones vinculadas a flotas vehiculares o servicios de transporte comercial. Finalmente, la baja participación de la categoría “cédula nueva” (4.2%) podría relacionarse con registros recientes o en proceso de actualización, que aún no cuentan con una clasificación precisa por sexo.
grafico_mes <- Comparendos %>%
group_by(nombre_mes) %>%
summarise(total = n()) %>%
ggplot(aes(x = reorder(nombre_mes, -total), y = total,
fill = nombre_mes)) +
geom_bar(stat = "identity", color = "black", width = 0.7) +
geom_text(aes(label = total), vjust = -0.5, size = 3.5) +
scale_fill_manual(values = c("#005227", "#038554", "#03bb85", "#68ddbd", "#a4fff7")) +
labs(
title = "Comparendos por mes",
x = "Mes",
y = "Cantidad de comparendos"
) +
theme_minimal() +
theme(
plot.title = element_text(hjust = 0.5, size = 14, face = "bold"),
axis.text.x = element_text(angle = 45, hjust = 1),
legend.position = "none"
)
grafico_mesDurante el periodo analizado se observa un incremento notable en el número de comparendos, pasando de 712 registros en abril a 1.408 en mayo, lo que implica un aumento del 98% en tan solo un mes. Este crecimiento puede estar relacionado con diversos factores, entre ellos un posible refuerzo en los operativos de control vial, un aumento en los niveles de movilidad durante mayo o la implementación de medidas de fiscalización más estrictas. También podrían influir condiciones estacionales, como un mayor flujo vehicular asociado a eventos locales o fechas festivas que incrementan la circulación.
grafico_vehiculo <- Comparendos %>%
group_by(tipo_vehiculo) %>%
summarise(total = n()) %>%
mutate(porcentaje = round((total / sum(total)) * 100, 1),
etiqueta = paste0(tipo_vehiculo, " (", porcentaje, "%)")) %>%
ggplot(aes(x = "", y = total, fill = tipo_vehiculo)) +
geom_bar(width = 1, stat = "identity", color = "black") +
coord_polar("y", start = 0) +
scale_fill_manual(values = c("#005227", "#038554", "#03bb85", "#68ddbd", "#a4fff7")) +
geom_text(aes(label = etiqueta),
position = position_stack(vjust = 0.5),
size = 3.5, color = "black") +
labs(
title = "Comparendos por tipo de vehículo",
fill = "Tipo de vehículo"
) +
theme_minimal() +
theme(
plot.title = element_text(hjust = 0.5, size = 14, face = "bold"),
axis.title.x = element_blank(),
axis.title.y = element_blank(),
axis.text = element_blank(),
axis.ticks = element_blank(),
panel.grid = element_blank()
)
grafico_vehiculoLa distribución de comparendos por tipo de vehículo muestra una diferencia marcada entre categorías: los carros concentran el 91.4% de las infracciones registradas, mientras que las motocicletas representan únicamente el 8.6%. Esta brecha sugiere que, durante el periodo analizado (abril y mayo de 2010), la mayor parte de los vehículos presentes en las zonas con controles activos de tránsito correspondía a automóviles. La menor proporción de motocicletas podría estar asociada a que estos vehículos circulan con mayor frecuencia por áreas periféricas o vías secundarias, donde los operativos de vigilancia son menos constantes. Asimismo, los carros suelen participar en actividades comerciales, laborales o de transporte urbano formal, lo que incrementa su exposición a los puntos de control y, en consecuencia, la probabilidad de recibir un comparendo.
grafico_valor_vehiculo <- Comparendos %>%
mutate(tipo_vehiculo = as.factor(tipo_vehiculo)) %>%
group_by(tipo_vehiculo) %>%
summarise(valor_total = sum(valor_a_pagar_raw, na.rm = TRUE)) %>%
ggplot(aes(x = reorder(tipo_vehiculo, valor_total),
y = valor_total,
fill = tipo_vehiculo)) +
geom_bar(stat = "identity", color = "black", width = 0.7) +
geom_text(aes(label = scales::comma(round(valor_total, 0))),
hjust = -0.1, size = 3.5) +
coord_flip() +
scale_fill_manual(values = c("#005227", "#038554", "#03bb85", "#68ddbd", "#a4fff7")) +
scale_y_continuous(labels = scales::comma, expand = expansion(mult = c(0, 0.1))) +
labs(
title = "Valor total de comparendos por tipo de vehículo",
x = "Tipo de vehículo",
y = "Valor total ($)"
) +
theme_minimal() +
theme(
plot.title = element_text(hjust = 0.5, size = 14, face = "bold"),
legend.position = "none"
)
grafico_valor_vehiculoEl valor total recaudado por concepto de comparendos presenta una diferencia marcada entre los carros y las motocicletas. Los automóviles acumulan aproximadamente $850.588.000, mientras que las motocicletas registran cerca de $79.879.800. Esta brecha refleja tanto la mayor cantidad de comparendos impuesta a carros como el hecho de que las infracciones asociadas a estos vehículos suelen estar sujetas a sanciones económicas más elevadas. La predominancia de los carros en el recaudo también puede estar relacionada con su mayor presencia en zonas urbanas donde existen controles de tránsito más estrictos, lo que incrementa la detección de infracciones. En contraste, las motocicletas suelen circular en áreas con menor vigilancia o con operativos menos frecuentes, lo que se traduce en un número reducido de comparendos y, por consiguiente, en un menor valor total sancionado.
grafico_infracciones <- Comparendos %>%
mutate(cod_infraccion = as.factor(cod_infraccion)) %>%
group_by(cod_infraccion) %>%
summarise(total = n()) %>%
arrange(desc(total)) %>%
slice_head(n = 10) %>%
ggplot(aes(x = reorder(cod_infraccion, -total), y = total, fill = cod_infraccion)) +
geom_bar(stat = "identity", color = "black", width = 0.7) +
geom_text(aes(label = total), vjust = -0.5, size = 3.5) +
scale_fill_manual(values = c("#005227", "#038554", "#03bb85", "#68ddbd", "#a4fff7")) +
labs(
title = "Top 10 tipos de infracción más comunes",
x = "Código de infracción",
y = "Cantidad de comparendos"
) +
theme_minimal() +
theme(
plot.title = element_text(hjust = 0.5, size = 14, face = "bold"),
axis.text.x = element_text(angle = 45, hjust = 1),
legend.position = "none"
)
grafico_infraccionesgrafico_identificacion <- Comparendos %>%
mutate(tipo_identificacion = as.factor(tipo_identificacion)) %>%
group_by(tipo_identificacion) %>%
summarise(total = n()) %>%
ggplot(aes(x = reorder(tipo_identificacion, -total), y = total, fill = tipo_identificacion)) +
geom_bar(stat = "identity", color = "black", width = 0.7) +
geom_text(aes(label = total), vjust = -0.5, size = 3.5) +
scale_fill_manual(values = c("#005227", "#038554", "#03bb85", "#68ddbd", "#a4fff7")) +
labs(
title = "Comparendos por tipo de identificación",
x = "Tipo de identificación",
y = "Cantidad de comparendos"
) +
theme_minimal() +
theme(
plot.title = element_text(hjust = 0.5, size = 14, face = "bold"),
axis.text.x = element_text(angle = 45, hjust = 1),
legend.position = "none"
)
grafico_identificacionLos resultados muestran una clara concentración de comparendos en la categoría de Cédula de Ciudadanía, que registra 1.648 casos, equivalente a la gran mayoría de las infracciones. En segundo lugar se encuentra el NIT, con 467 comparendos, mientras que la Cédula de Extranjería apenas registra 5 casos. Esta distribución indica que la mayoría de las infracciones fueron cometidas por personas naturales colombianas, lo cual es coherente con su predominancia dentro del parque automotor. La participación del NIT como segunda categoría refleja la presencia de empresas o entidades jurídicas propietarias de vehículos, como flotas de transporte, compañías de servicio o instituciones, que también pueden ser sancionadas cuando sus vehículos incurren en infracciones. Por último, el reducido número de comparendos asociados a extranjeros puede relacionarse con su menor representación en el parque automotor nacional o con una menor frecuencia de circulación en las zonas donde se realizan los operativos de control.
grafico_valor_mensual <- Comparendos %>%
group_by(nombre_mes) %>%
summarise(valor_total = sum(valor_a_pagar_raw, na.rm = TRUE)) %>%
ggplot(aes(x = reorder(nombre_mes, -valor_total), y = valor_total, fill = nombre_mes)) +
geom_bar(stat = "identity", color = "black", width = 0.7) +
geom_text(aes(label = scales::comma(round(valor_total, 0))),
vjust = -0.5, size = 3.5) +
scale_fill_manual(values = c("#005227", "#038554", "#03bb85", "#68ddbd", "#a4fff7")) +
scale_y_continuous(labels = scales::comma) +
labs(
title = "Valor total recaudado por mes",
x = "Mes",
y = "Valor total ($)"
) +
theme_minimal() +
theme(
plot.title = element_text(hjust = 0.5, size = 14, face = "bold"),
axis.text.x = element_text(angle = 45, hjust = 1),
legend.position = "none"
)
grafico_valor_mensualEl valor total recaudado por concepto de comparendos presenta un incremento notable entre abril y mayo de 2010. En abril, el recaudo alcanzó aproximadamente $312.496.800, mientras que en mayo ascendió a $617.971.200, lo que representa prácticamente el doble del mes anterior. Este aumento está directamente relacionado con el mayor número de comparendos registrados en mayo. Sin embargo, también podría obedecer a factores adicionales, como un fortalecimiento de los operativos de control vial, una aplicación más estricta de las normas o la imposición de sanciones de mayor valor económico. Asimismo, el incremento podría indicar una mayor participación de vehículos particulares o corporativos en las infracciones, cuyos comparendos suelen tener valores más altos.