Introducción

Este informe presenta un análisis de comparendos basado en un conjunto de datos proporcionado. Se han ejecutado seis consultas distintas utilizando el lenguaje de programación R y las librerías readxl, dplyr y ggplot2 para extraer información relevante y visualizar patrones. Cada sección detalla la consulta realizada, el código R utilizado y un análisis interpretativo de los resultados.

Configuración Inicial

library(readxl)
library(dplyr)
library(ggplot2)

# Carga del conjunto de datos (ajuste la ruta del archivo según sea necesario)
df <- read_excel("C:/Users/Adminsena/Downloads/BD Comparendos OK$ (2).xlsx")

CONSULTA 1: Comparendos por Tipo de Vehículo

Código R

q1 <- df %>%
  group_by(`TIPO DE VEHICULO`) %>%
  summarise(Total = n()) %>%
  arrange(desc(Total))

ggplot(q1, aes(x = reorder(`TIPO DE VEHICULO`, Total),
               y = Total,
               fill = `TIPO DE VEHICULO`)) +
  geom_col(width = 0.6) +
  geom_text(aes(label = Total), hjust = -0.2, size = 4) +
  coord_flip() +
  labs(title = "Comparendos por Tipo de Vehículo",
       x = "",
       y = "Total") +
  theme_minimal() +
  theme(legend.position = "none")

Análisis

Esta consulta agrupa los comparendos por la variable TIPO DE VEHICULO y calcula el número total de comparendos para cada tipo. Los resultados se ordenan de forma descendente para identificar rápidamente los tipos de vehículos con mayor incidencia de comparendos. La visualización se realiza mediante un gráfico de barras horizontales, lo que facilita la comparación entre las categorías. Este análisis es fundamental para entender qué medios de transporte están más involucrados en infracciones de tránsito, permitiendo a las autoridades enfocar sus esfuerzos de fiscalización y campañas de educación vial en los segmentos más problemáticos.

CONSULTA 2: Comparendos por Mes

Código R

q2 <- df %>%
  group_by(`NOMBRE DEL MES`) %>%
  summarise(Total = n())

ggplot(q2, aes(x = `NOMBRE DEL MES`,
               y = Total,
               fill = `NOMBRE DEL MES`)) +
  geom_col(width = 0.5) +
  geom_text(aes(label = Total), vjust = -0.5, size = 4) +
  labs(title = "Comparendos por Mes",
       x = "",
       y = "Total") +
  theme_minimal() +
  theme(legend.position = "none")

Análisis

Esta consulta agrupa los comparendos por el NOMBRE DEL MES y calcula el total de comparendos para cada mes. La visualización se presenta como un gráfico de barras verticales, mostrando la distribución de las infracciones a lo largo del año. Este análisis permite identificar patrones estacionales o meses específicos con un aumento o disminución significativa en el número de comparendos. Dicha información es valiosa para la planificación de recursos y la implementación de estrategias preventivas o de control en periodos de mayor incidencia.

CONSULTA 3: Infracciones más frecuentes

Código R

q3 <- df %>%
  group_by(`COD. INFRACCION`) %>%
  summarise(Total = n()) %>%
  mutate(
    Porcentaje = round(Total / sum(Total) * 100, 1),
    Codigo = as.factor(`COD. INFRACCION`)
  ) %>%
  arrange(desc(Total))

ggplot(q3, aes(x = "", y = Porcentaje, fill = Codigo)) +
  geom_col(width = 1) +
  coord_polar(theta = "y") +
  geom_text(aes(label = paste0(Codigo, "\n", Porcentaje, "%")),
            position = position_stack(vjust = 0.5),
            size = 3) +
  labs(title = "Distribución por Código de Infracción") +
  theme_void() +
  theme(legend.position = "none")

Análisis

Esta consulta identifica las infracciones más frecuentes agrupando los datos por COD. INFRACCION. Calcula el total de comparendos para cada código y su porcentaje respecto al total general. Los resultados se ordenan de forma descendente y se visualizan mediante un gráfico de pastel (coordenadas polares), lo que permite observar la proporción de cada infracción en el conjunto total. Este análisis es crucial para comprender cuáles son las infracciones de tránsito más comunes, lo que puede guiar la formulación de políticas públicas, campañas de concientización y la asignación de recursos para abordar las causas subyacentes de estas infracciones.

CONSULTA 4: Comparendos por Sexo

Código R

q4 <- df %>%
  group_by(SEXO) %>%
  summarise(Total = n()) %>%
  mutate(
    Porcentaje = round(Total / sum(Total) * 100, 1)
  ) %>%
  arrange(desc(Total))

ggplot(q4, aes(x = reorder(SEXO, Total),
               y = Total,
               fill = SEXO)) +
  geom_col(width = 0.6) +
  geom_text(aes(label = paste0(Total, " (", Porcentaje, "%)")),
            hjust = -0.1,
            size = 3.5) +
  coord_flip() +
  labs(title = "Comparendos por Sexo",
       x = "",
       y = "Total") +
  theme_minimal() +
  theme(legend.position = "none")

Análisis

Esta consulta agrupa los comparendos por la variable SEXO y calcula el total de comparendos para cada categoría, así como su porcentaje sobre el total. Los resultados se ordenan de forma descendente y se visualizan mediante un gráfico de barras horizontales. Este análisis proporciona una perspectiva sobre la distribución de los comparendos entre hombres y mujeres, lo que puede ser útil para identificar posibles sesgos en la aplicación de la ley o para diseñar campañas de educación vial dirigidas a grupos demográficos específicos.

CONSULTA 5: Top 10 Ejecutados

Código R

q5 <- df %>%
  group_by(EJECUTADO) %>%
  summarise(Total = n()) %>%
  arrange(desc(Total)) %>%
  slice_head(n = 10)

ggplot(q5, aes(x = reorder(EJECUTADO, Total),
               y = Total,
               fill = Total)) +
  geom_col(width = 0.6) +
  geom_text(aes(label = Total),
            hjust = -0.2,
            size = 3.5) +
  coord_flip() +
  scale_fill_gradient(low = "#90caf9", high = "#1565c0") +
  labs(title = "Top 10 Ejecutados con más Comparendos",
       x = "",
       y = "Total") +
  theme_minimal() +
  theme(legend.position = "none")

Análisis

Esta consulta identifica los 10 ‘Ejecutados’ (presumiblemente individuos o entidades) con el mayor número de comparendos. Agrupa los datos por la variable EJECUTADO, calcula el total de comparendos para cada uno, los ordena de forma descendente y selecciona los diez primeros. La visualización se realiza mediante un gráfico de barras horizontales, donde el color de las barras varía según el total de comparendos, destacando visualmente a los que tienen más infracciones. Este análisis es útil para identificar a los infractores reincidentes o a las entidades que requieren una atención especial por parte de las autoridades de tránsito.

CONSULTA 6: Comparendos por Día del Mes

Código R

q6 <- df %>%
  group_by(DIA) %>%
  summarise(Total = n()) %>%
  arrange(DIA)

promedio <- mean(q6$Total)

ggplot(q6, aes(x = DIA, y = Total)) +
  geom_line(color = "#1565c0", linewidth = 1) +
  geom_point(color = "#1565c0", size = 2) +
  geom_hline(yintercept = promedio,
             linetype = "dashed",
             color = "red") +
  annotate("text",
           x = max(q6$DIA),
           y = promedio,
           label = paste0("Promedio: ", round(promedio)),
           vjust = -0.8,
           hjust = 1,
           color = "red",
           size = 3.5) +
  labs(title = "Dias mas afectados",
       x = "Día",
       y = "Total") +
  scale_x_continuous(breaks = q6$DIA) +
  theme_minimal()

Análisis

Esta consulta analiza la distribución de comparendos por día del mes. Agrupa los datos por la variable DIA y calcula el total de comparendos para cada día, ordenándolos cronológicamente. Además, calcula el promedio de comparendos diarios y lo representa en el gráfico como una línea horizontal discontinua. La visualización es un gráfico de líneas que muestra la tendencia de los comparendos a lo largo de los días del mes, permitiendo identificar días específicos con picos o valles en la incidencia de infracciones. Este análisis es útil para la planificación operativa, como la asignación de personal de tránsito en días de alta demanda o la implementación de medidas preventivas en fechas recurrentes con mayor número de infracciones.