library(tidyverse)
library(scales)
library(readxl)
library(dplyr)
library(ggrepel)
library(htmltools)#Evita que las etiquetas en los gráficos se sobrepongan.
library(stringr)# Cambiar fuente global y color de texto en ggplot
library(leaflet)
library(ggplot2)
library(sf)
library(reticulate)
siniestro_fall <- read_excel("C:\\Users\\ADMIN.PC_ADMIN\\Downloads\\Siniestros_Atlántico_2020_2024.xlsx", 
    sheet = "Fallecidos")

siniestro_les <- read_excel("C:\\Users\\ADMIN.PC_ADMIN\\Downloads\\Siniestros_Atlántico_2020_2024.xlsx", 
    sheet = "Lesionados")

CANTIDAD TOTAL DE FALLECIDOS POR SINIESTRALIDAD VIAL EN EL DEPARTAMENTO DEL ATLÁNTICO (2020-2024)

Como se puede apreciar en el siguiente gráfico, en los municipios del departamento de Atlántico donde más ocurren siniestros que resultan en fallecidos son principalmente Barranquilla, debido a que este es el municipio donde se concentra más la economía en el departamento- Lo que implica mayor población, empresas y flujo de vehículos- a diferencia de municipios a la periferia de Barranquilla como lo es Sabanalarga, Palmar de Varela, entre otros que tienen una característica en común: Tienen un panorama socioeconómico mucho menor a comparación de Barranquilla. La diferencia entre Baranoa y Barranquilla, por ejemplo, es de 554, es decir que Barranquilla 42.8 veces más siniestros con victimas fallecidas que en Baranoa.

limite_oest=min(siniestro_fall$X)
limite_este=max(siniestro_fall$X)
limite_sur=min(siniestro_fall$Y)
limite_norte=max(siniestro_fall$Y)
siniestro_fall %>%
leaflet()%>%
  addTiles()%>%
  fitBounds(
    lng1= limite_oest,
    lat1= limite_sur,
    lng2 = limite_este,
    lat2 = limite_norte
  )%>%
  addMarkers(
    lng = ~X,
    lat = ~Y,
    clusterOptions = markerClusterOptions(),
    popup = siniestro_fall$Municipio_Ubicacion
  )

CANTIDAD TOTAL DE LESIONADOS POR SINIESTRALIDAD VIAL EN EL DEPARTAMENTO DEL ATLÁNTICO (2020-2024)

Con un total de 3007 acumulado en el departamento, es la cantidad de siniestros en donde resultan las victimas lesionadas en el Atlántico 3.3 veces mayor que la cantidad de siniestros con victimas fallecidas. Como se puede apreciar, los factores socioeconómicos -Mayor cantidad de empresas, población, y flujo vehicular- siguen la misma tendencia ocurrida en el anterior gráfico, donde Barranquilla es el epicentro de los siniestros de tránsito y la periferia donde menos ocurren. Comparando Barranquilla con Baranoa, no solo que la diferencia es de 2523, si no que también representa que Barranquilla ocurren 53.5 veces más siniestros con victimas lesionadas que Baranoa.

siniestro_les%>%
  leaflet()%>%
  addTiles()%>%
  addMarkers(
    lng=~X,
    lat = ~Y,
    clusterOptions = markerClusterOptions(),
    popup = siniestro_fall$Municipio_Ubicacion
  )

LESIONADOS POR SINIESTRALIDAD VIAL DE ACUERDO AL TIPO DE CIRCUNSTANCIA EN EL DEPARTAMENTO DEL ATLÁNTICO (2020-2024)

En el siguiente gráfico, se muestran 6 circunstancias presentadas con mayor número de lesionados; exceptuando aquellas dónde no aparece registrado, y tiene por nombre “SIN INFORMACIÓN”.

Como se puede apreciar, la circunstancia que encabeza este top, es la de “DESOBEDECER NORMAS Y/O SEÑALES DE TRÁNSITO”, con un total de 1726 casos, posiblemente por distracción mientras conducen, prisa o impaciencia; así como pasa con el exceso de velocidad, que sigue con un total de 465 casos. De manera ascendente, se puede apreciar que las circunstancia con un menor número, responde a “CONDUCIR SIN OBSERVAR” con un total de 65 casos presentados, posiblemente por distracciones como suelen ser el uso del celular.

tabla_les_1 <- siniestro_les %>% 
  filter(Departamento_Ubica == "ATLÁNTICO")%>%
  group_by(Circunstancia) %>% 
  summarise(Circunstancia_les =n(),.groups ="drop")%>%
  arrange(desc(Circunstancia_les))%>%
  mutate(Circunstancia = str_wrap(Circunstancia, width = 5))%>%
  top_n(7)

title_1 <- str_wrap("LESIONADOS POR SINIESTRALIDAD VIAL DE ACUERDO AL TIPO DE CIRCUNSTANCIA EN EL DEPARTAMENTO DEL ATLÁNTICO (2020-2025)", width= 45)

colores_fins <- c("#DE403B", "#FFB74D", "#60A560", "#1C2C4E","#8A8080","#F06D69","#3060C7","#36D636","#E38C0B", "#A6514E")
  

ggplot(tabla_les_1, aes(reorder(x = Circunstancia,-Circunstancia_les), y = Circunstancia_les, fill =  Circunstancia ))+
  geom_col()+
  geom_text(aes(label = Circunstancia_les),
            size = 15,
            color = "black",
            vjust = -0.5
             )+
  scale_y_continuous(limits = c(0,1800))+
  theme_minimal()+
  theme_void()+
  labs(title= title_1)+
  scale_fill_manual(values = colores_fins) +
  theme(
    axis.text.x = element_text(size = 20),
    legend.text = element_text(size = 25),
    legend.title = element_blank(),
    legend.key.size = unit(1, "cm"),
    plot.title = element_text(size= 35, hjust=0.5),
    legend.position = "none"
  )

FALLECIDOS POR SINIESTRALIDAD VIAL DE ACUERDO A LA EDAD Y EL SEXO EN EL DEPARTAMENTO DEL ATLÁNTICO (2020-2024)

En el siguiente gráfico, se muestra cuáles son las edades que presentan un mayor número de fallecidos por siniestralidad vial ;en este caso, se muestran 11 diferentes edades. Asimismo, al realizar el filtro para presentar estas edades, arroja que son los hombres quienes en su mayoría fallecen a causa de esta siniestralidad vial.

Como se puede apreciar, la primera que encabeza esta lista, responde a la edad de 20 años, con un total de 22 casos presentados, seguida por la edad de 29 años, con un total de 20 casos, y siendo la tercera la edad de 38 años, con un total de 19 casos presentados. Asimismo, de manera ascendente con respecto a la cantidad de casos, se puede apreciar que la edad con un menor número, responde a la de 23 años, con un total de 15 casos, al igual que la edad de 25 y 33.

Todos estos datos nos arrojan que la mayor concentración de casos registrados, se sitúan entre las edades de 20 y 38 años, posiblemente debido a que muchos de los hombres dentro de este rango están más expuestos por tener mayor actividad vial, y así mismo, mayor propensión al riesgo; teniendo en cuenta que muchos en su mayoría manejan motos.

Tab_fall_1 <- siniestro_fall %>% 
   filter(Departamento_Ubicacion == "ATLÁNTICO")%>%
 group_by(Sexo, Edad) %>%
  summarise(CANTIDAD_FALL = n(), .groups = "drop")%>%
  top_n(10)


colores_fins <- c("#DE403B", "#FFB74D", "#60A560", "#1C2C4E","#8A8080","#F06D69","#3060C7","#36D636","#E38C0B", "#A6514E")
  

titulo_fall_1 <- str_wrap("FALLECIDOS POR SINIESTRALIDAD VIAL DE ACUERDO AL TIPO DE CIRCUNSTANCIA EN EL DEPARTAMENTO DEL ATLÁNTICO (2020-2024)", width= 40)

ggplot(Tab_fall_1,aes(x = CANTIDAD_FALL , y = reorder(Edad, CANTIDAD_FALL), fill = Sexo ))+
  geom_col(position = "dodge", width = 0.9)+
labs(title = titulo_fall_1,
       x = NULL,
       y = "EDAD")+
  geom_text(aes(label =label_comma(big.mark = ".", decimal.mark = ",") (CANTIDAD_FALL)),
            size=15,
            position = position_dodge(width = 0.9),
            vjust= 0.5,
           hjust = -0.1)+
  scale_fill_manual(values = colores_fins)+
  scale_x_continuous(limits = c(0,200),
                     breaks = seq(0,200, by = 50))+
  theme_minimal()+
  theme(
    panel.grid.major = element_blank(),
    panel.grid.minor = element_blank(),
    axis.text.x = element_text(size=30, color="#1C2C4E"),
    axis.text.y = element_text(size = 30,color ="#1C2C4E"),
    plot.title = element_text(size = 35, hjust = 0.5),
    axis.title.y = element_text(size = 34),
    axis.line = element_line(color = "black"),
    legend.text = element_text(size = 30),
    legend.title = element_text(size=34),
    legend.key.size = unit(1, "cm")
  )

LESIONADOS POR SINIESTRALIDAD VIAL DE ACUERDO A LA EDAD Y EL SEXO EN EL DEPARTAMENTO DEL ATLÁNTICO(2020-2024)

En el siguiente gráfico, se muestra cuáles son las edades que presentan un mayor número de lesionados por siniestralidad vial; en este caso, se muestran 11 diferentes edades, al igual que en el anterior de los fallecidos. Asimismo, al realizar el filtro para presentar estas edades, también arroja que son los hombres quienes en su mayoría salen lesionados, y posiblemente por las mismas causas que en el gráfico de fallecidos por edad y sexo.

Se puede apreciar, que los hombres que salen lesionados mayormente, son los que tienen 24 años con un total de 73 casos presentados, seguido de aquellos que tienen 30 años, con un total de 69 casos, y de tercer lugar, aquellos con la edad de 29 años, presentándose 66 casos. Asimismo, de manera ascendente con respecto a la cantidad de casos, se puede apreciar que la edad con un menor número, responde a la de 27 años, con un total de 57 casos, al igual que la edad de 34 años ;seguida de la edad 39, con un total de 58 casos.

Tab_les_2 <- siniestro_les %>% 
   filter(Departamento_Ubica == "ATLÁNTICO")%>%
 group_by(Sexo, Edad) %>%
  summarise(CANTIDAD_FALL = n(), .groups = "drop")%>%
  top_n(10)


colores_fins <- c("#DE403B", "#FFB74D", "#60A560", "#1C2C4E","#8A8080","#F06D69","#3060C7","#36D636","#E38C0B", "#A6514E")
  

titulo_les_2 <- str_wrap("LESIONADOS POR SINIESTRALIDAD VIAL DE ACUERDO A LA EDAD Y EL SEXO ", width= 40)

ggplot(Tab_les_2,aes(x = CANTIDAD_FALL , y = reorder(Edad, CANTIDAD_FALL), fill = Sexo ))+
  geom_col(position = "dodge", width = 0.9)+
labs(title = titulo_les_2,
       x = NULL,
       y = "EDAD")+
  geom_text(aes(label =label_comma(big.mark = ".", decimal.mark = ",") (CANTIDAD_FALL)),
            size=15,
            position = position_dodge(width = 0.9),
            vjust= 0.5,
           hjust = -0.1)+
  scale_fill_manual(values = colores_fins)+
  scale_x_continuous(limits = c(0,100),
                     breaks = seq(0,100, by = 20))+
  theme_minimal()+
  theme(
    panel.grid.major = element_blank(),
    panel.grid.minor = element_blank(),
    axis.text.x = element_text(size=30, color="#1C2C4E"),
    axis.text.y = element_text(size = 30,color ="#1C2C4E"),
    plot.title = element_text(size = 35, hjust = 0.5),
    axis.title.y = element_text(size = 34),
    axis.line = element_line(color = "black"),
    legend.text = element_text(size = 30),
    legend.title = element_text(size=34),
    legend.key.size = unit(1, "cm"),
  )

CANTIDAD DE SINIESTROS CON VÍCTIMAS LESIONADAS POR EDAD EN BARRANQUILLA(2020-2024)

Como se puede apreciar en el histograma, la población con una edad mayor a los 20 años aumenta significativamente la cantidad de siniestros viales con victimas lesionadas tendencias que llega a su fin hasta los inicios de los 30 años de edad que va en una tendencia descendente. Lo que significa que la población joven es el principal grupo susceptible a hacer parte de un siniestro, factores como la inexperiencia, cultura, conocimientos y negligencia dan lugar a siniestros viales, a diferencia de los mayores a 40 años, gente que puede llegar a ser más experimentada y conocedora que los jóvenes las menos afectadas.

ggplot(data=siniestro_les%>%
  filter(Municipio_Ubica=="Barranquilla"),aes(x=Edad))+
  geom_histogram(binwidth = 5,fill="steelblue",color="white")+
  labs(
    title = "Cantidad de siniestros con victimas lesionadas por edad en Barranquilla (2020-2024)",
    x="Edad",
    y="Cantidad"
  )+
  theme_minimal() + 
  theme(
    # Controla el tamaño de los números/etiquetas en el eje X
    axis.text.x = element_text(size = 12), 
    # Controla el tamaño del título "Edad"
    axis.title.x = element_text(size = 14, face = "bold"))+
  scale_x_continuous(breaks = seq(0, 90, by = 10))+ 
  theme(axis.text.x = element_text(angle = 45, hjust = 2))