En el siguiente análisis estádistico, se hará uso de una base de datos de comparendos del 2010, en la ciudad de Barranquilla, especificamente en los meses de Abril y Mayo. Para esto, haremos uso de funciones estádisticas de R, gráficos para poder identificar patrones y tendencias, y otro tipo de herramientas qué nos permita llevar a cabo un análisis eficaz del comportamiento de las infracciones de tránsito para este período.
Dentro de la base de datos relacionada con los comparendos de tránsito en la ciudad de Barranquilla , podemos apreciar variables como el tipo de infracción(en este caso, podemos encontrar en la base de datos 4 tipos de infracciones) con su respectiva fecha de cometido;desglosada por día, mes y año, tipo de vehículo, el género, placa de vehículo, y el valor a pagar.
Con respecto a la base de datos que hemos mencionado anteriormente, se han analizado las siguientes dimensiones:
A partir de aquí, podremos encontrar el análisis llevado a cabo, gracias al empleo de funciones, gráficos, e incluso de tablas.
#Intalación de librería por si no se tiene dentro de los paquetes.
library(tidyverse)
library(dplyr)
library(readxl)
library(scales)
datos_c <- read_excel("BD Comparendos SENA TAD-9 OK -terminado (1).xlsx",
sheet = "Hoja1 (2)")#importar base de datos
## COSTO COMPARENDO
## Min. :257500
## 1st Qu.:257500
## Median :257500
## Mean :304749
## 3rd Qu.:257500
## Max. :515000
## [1] "No. MANDAMIENTO DE PAGO" "FECHA MANDAMIENTO DE PAGO"
## [3] "EJECUTADO" "TIPO DE IDENTIFICACION"
## [5] "No. IDENTIFICACION" "GENERO"
## [7] "#GENERO" "COD. INFRACCION"
## [9] "# INFRACCION" "NOM - INFRACCION"
## [11] "COMPARENDO" "FECHA DE COMPARENDO"
## [13] "DÍA" "NOM-DÍA"
## [15] "MES" "NOM-MES"
## [17] "AÑO" "PACA DE VEHICULO"
## [19] "VEHICULO" "COSTO COMPARENDO"
inf_por_Gen <- datos_c %>%
count(GENERO)#conteo de la columna género
inf_por_Gen <- inf_por_Gen %>%
mutate(PORCENTAJE =round(n/ sum(n)*100,1))#crea una nueva columna
knitr::kable(inf_por_Gen, col.names = c("GENERO_T ","CANTIDAD ",
"PORCENTAJE"),align = "lcc")#para darle un estilo más atractivo a las tablas.
GENERO_T | CANTIDAD | PORCENTAJE |
---|---|---|
EMPRESA | 467 | 22.0 |
HOMBRE | 680 | 32.1 |
MUJER | 973 | 45.9 |
ggplot(inf_por_Gen,aes( x = "", y= PORCENTAJE, fill=GENERO)) +#x=""- hace que todas las barras se acumulen en un mismo punto, para poder formar el circulo.
geom_bar(stat = "identity", witdh = 1) +#indica que ya tiene todos los valores de las cantidades.
coord_polar("y",start = 0) +#se convierte a gráfico pastel#empienza desde la parte derecha.
labs(title = "DISTRIBUCION DE INFRACCIONES POR GENERO") +
geom_text(aes(label =paste0((PORCENTAJE),"%" )),position = position_stack(vjust = 0.5))+
scale_fill_manual(values= c("#60A855","#689cce","#F6C4C4")) +
theme(plot.title = element_text(size=10, hjust = 1)) +
theme_void() #eliminar elementos visuales del fondo del gráfico.
En la distribución presentada por género, se puede notar que las mujeres cuentan con el porcentaje más alto de infracciones; mientras que las empresas presentan una menor cantidad de infracciones.
dist_inf <- datos_c %>%
group_by(`NOM - INFRACCION`) %>% #agrupamos por tipo de infracción
summarise(CANTIDAD_RECAUDO = sum(`COSTO COMPARENDO`),
CANTIDAD_INFRACCIONES =n(),.groups = "drop")%>%#sumamos y hacemos un conteo, para saber cuánto se recaudó por infracción y la cantidad de infracciones, respectivamente.
arrange(desc(CANTIDAD_INFRACCIONES))
knitr::kable(dist_inf, col.names = c("NOMBRE_INFRACCION",
"CANTIDAD_RECAUDADA",
"N_INFRACCIONES"),
align = "lcc")
NOMBRE_INFRACCION | CANTIDAD_RECAUDADA | N_INFRACCIONES |
---|---|---|
Velocidad Max superior | 418695000 | 1626 |
No detenerse ante una luz roja | 198275000 | 385 |
No respetar el paso de los peatones | 27037500 | 105 |
Transitar en sentido contrario al estipulado. | 2060000 | 4 |
ggplot(dist_inf,aes(x= CANTIDAD_INFRACCIONES
, y = CANTIDAD_RECAUDO,
color = `NOM - INFRACCION`))+
geom_point(size = 30)+
geom_text(aes(label = CANTIDAD_RECAUDO)) +
theme(axis.line = element_line(color= "black"),#añade línea negra en los ejes X y Y.
legend.text=element_text(size=18),
legend.title = element_text(size=20),
panel.grid.major = element_blank(),#elimina líneas principales de la cuadricula.
panel.grid.minor = element_blank()) +#elimina líneas menores de la cuadricula.
scale_y_continuous(labels =comma)+
labs(title = "DISTRIBUCION POR INFRACCION",
x= "CANTIDAD DE INFRACCIONES",
y= "CANTIDAD RECAUDADA")+
theme(
plot.title = element_text(size=50,hjust= 0.5),
axis.title.y = element_text(size = 30),
axis.title.x = element_text(size = 30),
axis.text.x = element_text( size = 20),
axis.text.y =element_text(size = 20),
legend.key.size = unit( 1 ,"cm")#modifica tamaño
) +
scale_colour_manual(values=c("Velocidad Max superior"="#09622A","No detenerse ante una luz roja"="#9C0824","No respetar el paso de los peatones"="#CB5414","Transitar en sentido contrario al estipulado."="#26456E"))
Se puede observar que el tipo de infracción mayormente cometida es velocidad máxima superior, con más de 1500 comparendos; asímismo, se presenta un recaudo de aproxidamamente 500.000.000 de pesos para este tipo de infracción. Esto podría explicarse ya que en la mayoría de los casos, la gente se impacienta, y tiende a exceder la velocidad. Por tal razón, después de velocidad máxima superior, le sigue no detenerse ante una luz roja; están relacionadas. Además, existe una correlación positiva, ya que a mayor número de infracciones, la cantidad a pagar, es mayor.
valor_por_persona <- datos_c %>%
filter(`TIPO DE IDENTIFICACION`=="Nit") %>%
group_by(EJECUTADO)%>%
summarise(Cantidad_total=sum(`COSTO COMPARENDO`, na.rm= TRUE), .groups = "drop")%>%
arrange(desc(Cantidad_total))%>%
top_n(5, Cantidad_total)
ggplot(valor_por_persona,aes(x = reorder(EJECUTADO,-Cantidad_total),y = Cantidad_total,fill=EJECUTADO))+
geom_col() +
geom_label(aes(label = scales::comma (Cantidad_total,big.mark = ".", decimal.mark = ",")),
vjust= 1,
size = 10,
) +
theme(
axis.text.x = element_text(angle = 45, hjust =1, size = 18),
axis.text.y= element_text(size = 20),#tamaño del texto del eje y
axis.title.x = element_text(size=50),#tamaño del titulo del eje x
axis.title.y = element_text(size = 50) ) + #element_blsck(si quiero borrar ese eje)
labs(title = "TOP 5 EMPRESAS CON MAYOR DEUDA", x = "EJECUTADO", y = "CANTIDAD", )+
theme(
plot.title = element_text(hjust = 0.5, size = 50),#título del gráfico
panel.grid.major = element_blank(), #elimina las lineas principales de la cuadricula
legend.text = element_text(size =18),
legend.title = element_text(size=20),#modifica el tamaño
legend.key.size = unit(2, "cm"),# modifica el tamaño de los cuadritos de la leyenda
legend.spacing.y = unit(2, "cm"),#modifica el espacio entre los textos de la leyenda
panel.grid.minor = element_blank(),#elimina las lineas menores de la cuadricula
axis.line = element_line(color = "black")
)
A partir del gráfico, acerca las 5 empresas con mayor deuda, se puede apreciar que la empresa LEASING BANCOLCOLOMBIA SA CF, tuvo una mayor cantidad de recaudo con un total aproximado de 20 millones, por lo tanto, se puede inferir que de las empresas presentadas, esta fue la que obtuvo una mayor cantidad de infracciones; y la que presentó una menor cantidad de recaudo, fue la empresa G.M.A.C FINANCIERA DE COLOMBIA, con un total aproximadamente de 6 millones.
inf_mes <- datos_c %>%
group_by(`NOM-MES`) %>%
summarise(CANTIDAD_INF = sum(n()))
ggplot(inf_mes,aes(x = reorder(`NOM-MES`, -CANTIDAD_INF), y = CANTIDAD_INF, fill= `NOM-MES`))+
geom_col() +
labs(title = "INFRACCIONES EN LOS MESES ABRIL Y MAYO",
x = "MES",
y= "CANTIDAD DE INFRACCIONES")+
geom_text(aes(label = comma(CANTIDAD_INF)),
size=10)+
theme(
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
plot.title = element_text(size=50,hjust= 0.5),
axis.title.y = element_text(size = 30),
axis.title.x = element_text(size = 30),
axis.text.x = element_text( size = 20),
axis.text.y =element_text(size = 20),
legend.title = element_text(size= 20),
legend.key.size = unit( 1 ,"cm"),
legend.text = element_text(size=15),
)+
scale_y_continuous(labels= comma)
Se puede identificar que en el mes que se presentó una mayor cantidad de comparendos, fue en el mes de mayo, con aproximadamente 1500 infracciones cometidas, mientras que en el mes de abril, se presenta un total de aproximadamente 720 infracciones cometidas. Esto podría explicarse debido a qué para el mes de abril, comienza un periodo lluvioso, y como consecuencia, se presenta posiblemente un flujo menor de vehículos.
Hay que tener en cuenta, que esta base de datos, no cuenta con todos los días del mes para abril, podría explicarse de pronto el por qué se presenta una menor cantidad de infracciones en este mes.
veh_mes <- datos_c %>%
group_by(`NOM-MES`, VEHICULO)%>%
summarise(CANTIDAD_INF_VEH = n())
ggplot(veh_mes,aes(x= VEHICULO, y = CANTIDAD_INF_VEH, fill=`NOM-MES` ))+
geom_col()+
geom_text(aes(label = comma(CANTIDAD_INF_VEH)),
vjust=0,
size=8)+
scale_y_continuous(label = comma)+
theme(
axis.title.y = element_text(size = 30),
axis.title.x = element_text(size = 30),
axis.text.x = element_text( size = 20),
axis.text.y =element_text(size = 20),
legend.title = element_text(size= 20),
legend.key.size = unit( 1 ,"cm"),
legend.text = element_text(size=15),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank()
)+
labs(title = "INFRACCIONES EN LOS 2 MESES Y EL TIPO DE VEHICULO",
x="TIPO DE VEHICULO",
y= "CANTIDAD DE INFRACCIONES")+
theme(
plot.title = element_text(size=42 ,hjust = 0.5)
)
A partir del análisis del gráfico, se puede apreciar que el vehículo que presenta una mayor cantidad de infracciones, son los autos, con un total de 2000 infracciones aproximadamente, siendo el mes de mayo en que se presenta una mayor cantidad de comparendos por este tipo de vehículo. Esta incidencia de los autos en una mayor proporción, podría deberse a que normalmente este tipo de vehículo se encuentra más en circulación que las motos.
Resumiendo el análisis anterior, se pudieron identificar patrones cómo la gran cantidad de comparendos realizados, a causa de la infracción velocidad máxima superior; siendo esto verdaderamente alarmante, debido a qué por este tipo de negligencias, suceden los accidentes.
Asímismo, se pudo apreciar como quiénes reciben más comparendos para este período, son las mujeres, representando un 46% de infracciones; mientras qué las empresas presentan una menor cantidad de infracciones cometidas.
Se pudo apreciar también como el mes en qué se presentó una mayor cantidad de infracciones, fue Mayo, especificamente por el vehículo auto.
Secretaria de tránsito de Barranquilla