Rows: 25610 Columns: 11
── Column specification ────────────────────────────────────────────────────────
Delimiter: ","
chr (6): HORA_ACCIDENTE, GRAVEDAD_ACCIDENTE, CLASE_ACCIDENTE, SITIO_EXACTO_...
dbl (4): CANT_HERIDOS_EN _SITIO_ACCIDENTE, CANT_MUERTOS_EN _SITIO_ACCIDENTE...
dttm (1): FECHA_ACCIDENTE
ℹ Use `spec()` to retrieve the full column specification for this data.
ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
La base de datos utilizada es suministrada por la Alcaldía Distrital de Barranquilla, Distrito Especial, Industrial y Portuario. Esta contiene información relacionada a los accidentes de tránsito ocurridos en el distrito de Barranquilla, con datos recopilados a partir de los informes policiales de accidentes de tránsito (IPAT). Su última actualización fue el 17 de julio de 2024 y contiene 11 variables que describen diferentes aspectos de la accidentalidad en la ciudad.
Utilizando la función “dim( )”, se obtiene el número total de filas y columnas de la base datos:
dim(AccidentesDB)
[1] 25610 11
La base de datos está compuesta por un total de 25610 filas y 11 columnas.
Con fines ilustrativos, se muestra una vista preliminar de los primeros 20 registros de la database:
Gracias a las librerías “knitr” y “tibble”, se crea una tabla que contiene las variables utilizadas :
library(knitr)library(tibble)variables<-as.data.frame(enframe(names(AccidentesDB), name =NULL, value ="Variables"))kable(variables)
Variables
FECHA_ACCIDENTE
HORA_ACCIDENTE
GRAVEDAD_ACCIDENTE
CLASE_ACCIDENTE
SITIO_EXACTO_ACCIDENTE
CANT_HERIDOS_EN _SITIO_ACCIDENTE
CANT_MUERTOS_EN _SITIO_ACCIDENTE
CANTIDAD_ACCIDENTES
AÑO_ACCIDENTE
MES_ACCIDENTE
DIA_ACCIDENTE
A continuación, se explicará en qué consisten y a qué tipo pertenecen cada una de ellas:
1.) FECHA_ACCIDENTE: Registra la fecha en la que ocurrió el accidente. Esta variable es de tipo categórico, pues se usa para clasificar datos en categorías temporales, como años, meses o días, y no se analiza directamente como un número, que sería propio de una variable numérica.
2.) HORA_ACCIDENTE: Registra la hora exacta en la que sucedió el accidente. Esta variable es de tipo categórico porque al igual que la fecha, esta no se analiza directamente como un número continuo, sino que se usa para clasificar eventos en distintos momentos del día.
3.) GRAVEDAD_ACCIDENTE: Registra la gravedad del accidente. Dependiendo de si este dejó solo daños, heridos o muertos. Esta variable es de tipo categórico, ya que describe la gravedad del accidente, utilizando las categorías mencionadas.
4.) CLASE_ACCIDENTE: Registra la clase de accidente que se produjo. Teniendo en cuenta si este fue un choque, un atropello, un volcamiento, un incendio, entre otros. Esta variable es de tipo categórico, pues clasifica a los accidentes en las múltiples categorías mencionadas.
5.) SITIO_EXACTO_ACCIDENTE: Registra la dirección o lugar exacto en el que sucedió el accidente. Esta variable es de tipo categórico, pues describe la ubicación específica en la que ocurrió el accidente.
6.) CANT_HERIDOS_EN_SITIO_ACCIDENTE: Registra la cantidad de heridos que dejó el accidente., mostrando “NA” en el caso de que no haya heridos. Esta es una variable numérica discreta, ya que cuenta el número de heridos en cada accidente utilizando valores enteros.
7.) CANT_MUERTOS_EN_SITIO_ACCIDENTE: Registra la cantidad de muertos que dejó el accidente, mostrando “NA” en el caso de que no se produjera ninguna muerte. Esta es una variable numérica discreta, porque cuenta el número de muertos en cada accidente utilizando valores enteros.
8.) CANTIDAD_ACCIDENTES: Registra la cantidad de accidentes que ocurrieron en ese lugar y hora. Esta es una variable numérica discreta, pues cuenta el número de accidentes ocurridos en la ciudad de Barranquilla utilizando valores enteros.
9.) AÑO_ACCIDENTE: Registra el año en el que ocurrió el accidente. Esta variable es de tipo categórico, ya que aunque sea un número, esta se puede usar como categoría al representar un año específico.
10.) MES_ACCIDENTE: Registra el mes en el que ocurrió el accidente. Esta variable es de tipo categórico, debido a que se utiliza para representar un mes específico, aunque lo haga a través de un número.
11.)DIA_ACCIDENTE: Registra el día en el que ocurrió el accidente. Esta variable es de tipo categórico, porque aunque lo haga a través de un número, se utiliza para representar un día específico.
Ahora, a través de la librería “dplyr”, se consiguen identificar todos los registros con valores “NA”. En este caso se filtran todos los datos que contienen valores “Not Available” y se genera una tabla utilizando “kable” con las primeras 20 filas de la base de datos.
library(dplyr)
Adjuntando el paquete: 'dplyr'
The following objects are masked from 'package:stats':
filter, lag
The following objects are masked from 'package:base':
intersect, setdiff, setequal, union
library(knitr)filter1 <- AccidentesDB %>%filter_all(any_vars(is.na(.)))knitr::kable(head(filter1, 20), caption ="Datos con valores Not Available")
Datos con valores Not Available
FECHA_ACCIDENTE
HORA_ACCIDENTE
GRAVEDAD_ACCIDENTE
CLASE_ACCIDENTE
SITIO_EXACTO_ACCIDENTE
CANT_HERIDOS_EN _SITIO_ACCIDENTE
CANT_MUERTOS_EN _SITIO_ACCIDENTE
CANTIDAD_ACCIDENTES
AÑO_ACCIDENTE
MES_ACCIDENTE
DIA_ACCIDENTE
2018-01-01
01:30:00:am
Con heridos
Atropello
CL 87 9H 24
1
NA
1
2018
January
Mon
2018-01-01
02:00:00:pm
Solo daños
Choque
CL 110 CR 46
NA
NA
1
2018
January
Mon
2018-01-01
04:00:00:am
Solo daños
Choque
AV CIRCUNVALAR CR 9G
NA
NA
1
2018
January
Mon
2018-01-01
04:30:00:am
Solo daños
Choque
CLLE 72 CRA 29
NA
NA
1
2018
January
Mon
2018-01-01
05:20:00:pm
Solo daños
Choque
VIA 40 CALLE 75
NA
NA
1
2018
January
Mon
2018-01-01
06:00:00:pm
Con heridos
Choque
CR 8 CL 41
3
NA
1
2018
January
Mon
2018-01-01
12:50:00:am
Con heridos
Atropello
CLLE 119B CRA 11B
1
NA
1
2018
January
Mon
2018-01-02
02:30:00:pm
Solo daños
Choque
CARRERA 25 37-42
NA
NA
1
2018
January
Tue
2018-01-02
03:00:00:pm
Solo daños
Choque
CR 51B 1D 35
NA
NA
1
2018
January
Tue
2018-01-02
03:45:00:pm
Solo daños
Choque
VIA 40 CLLE 85
NA
NA
1
2018
January
Tue
2018-01-02
04:10:00:pm
Solo daños
Choque
CL 19 CR 2C
NA
NA
1
2018
January
Tue
2018-01-02
05:30:00:pm
Solo daños
Choque
VIA 40 CL 77B
NA
NA
1
2018
January
Tue
2018-01-02
05:45:00:pm
Solo daños
Choque
CL 89 CON 75B
NA
NA
1
2018
January
Tue
2018-01-02
07:00:00:pm
Solo daños
Choque
CL 47 CR 38
NA
NA
1
2018
January
Tue
2018-01-02
07:30:00:pm
Solo daños
Choque
CLLE 96 CRA 64
NA
NA
1
2018
January
Tue
2018-01-02
08:40:00:pm
Con heridos
Choque
CIRCUNVALAR CR 9G
2
NA
1
2018
January
Tue
2018-01-02
09:00:00:am
Solo daños
Choque
CLLE 39 CRA 27
NA
NA
1
2018
January
Tue
2018-01-02
11:00:00:pm
Con heridos
Choque
CL 30 CR 30
1
NA
1
2018
January
Tue
2018-01-03
02:20:00:pm
Solo daños
Choque
CL 110 CR 6Q
NA
NA
1
2018
January
Wed
2018-01-03
03:15:00:pm
Solo daños
Choque
CL 19 CR 5C
NA
NA
1
2018
January
Wed
Se utilizará la misma técnica para filtrar datos importantes que permitan entender mejor la estructura de la database.
Con el fin de conocer los accidentes de mayor gravedad, entendiéndose por mayor gravedad, como aquellos que dejaron muertos; se aplica un segundo filtro.
library(dplyr)library(knitr)filter2 <- AccidentesDB %>%filter(GRAVEDAD_ACCIDENTE =="Con muertos")knitr::kable(head(filter2, 10), caption ="Primeras 10 filas de accidentes que dejaron muertos")
Primeras 10 filas de accidentes que dejaron muertos
FECHA_ACCIDENTE
HORA_ACCIDENTE
GRAVEDAD_ACCIDENTE
CLASE_ACCIDENTE
SITIO_EXACTO_ACCIDENTE
CANT_HERIDOS_EN _SITIO_ACCIDENTE
CANT_MUERTOS_EN _SITIO_ACCIDENTE
CANTIDAD_ACCIDENTES
AÑO_ACCIDENTE
MES_ACCIDENTE
DIA_ACCIDENTE
2018-01-06
12:15:00:pm
Con muertos
Atropello
CALLE 30 CRA 46
1
1
1
2018
January
Sat
2018-01-21
10:30:00:pm
Con muertos
Choque
CL 37 ENTRE CR 13 Y 14 ENTRADA MANUELA BELTRAN
1
1
1
2018
January
Sun
2018-01-22
01:30:00:pm
Con muertos
Atropello
CR 37 CL 81
NA
1
1
2018
January
Mon
2018-01-25
05:20:00:pm
Con muertos
Choque
VIA 40 CR 51
NA
1
1
2018
January
Thu
2018-02-04
09:40:00:pm
Con muertos
Choque
CL 45 CR 2E
NA
1
1
2018
February
Sun
2018-02-10
04:00:00:pm
Con muertos
Volcamiento
CR 47 CL 75
2
1
1
2018
February
Sat
2018-02-23
01:10:00:am
Con muertos
Choque
CARRERA 38 CALLE 44
1
1
1
2018
February
Fri
2018-03-04
05:10:00:am
Con muertos
Choque
KILOMETRO 113 VIA CORDIALIDAD
NA
1
1
2018
March
Sun
2018-03-07
05:55:00:am
Con muertos
Atropello
CALLE 31 CARRERA 40
NA
1
1
2018
March
Wed
2018-03-22
02:30:00:pm
Con muertos
Atropello
AV CIRCUNVALAR CR 40A1
NA
2
1
2018
March
Thu
Para conocer los accidentes que ocurrieron debido a un choque, se aplica un tercer filtro.
library(dplyr)library(knitr)filter3 <- AccidentesDB %>%filter(CLASE_ACCIDENTE =="Choque")knitr::kable(head(filter3, 10), caption ="Primeras 10 filas de accidentes que fueron ocasionados por un choque")
Primeras 10 filas de accidentes que fueron ocasionados por un choque
FECHA_ACCIDENTE
HORA_ACCIDENTE
GRAVEDAD_ACCIDENTE
CLASE_ACCIDENTE
SITIO_EXACTO_ACCIDENTE
CANT_HERIDOS_EN _SITIO_ACCIDENTE
CANT_MUERTOS_EN _SITIO_ACCIDENTE
CANTIDAD_ACCIDENTES
AÑO_ACCIDENTE
MES_ACCIDENTE
DIA_ACCIDENTE
2018-01-01
02:00:00:pm
Solo daños
Choque
CL 110 CR 46
NA
NA
1
2018
January
Mon
2018-01-01
04:00:00:am
Solo daños
Choque
AV CIRCUNVALAR CR 9G
NA
NA
1
2018
January
Mon
2018-01-01
04:30:00:am
Solo daños
Choque
CLLE 72 CRA 29
NA
NA
1
2018
January
Mon
2018-01-01
05:20:00:pm
Solo daños
Choque
VIA 40 CALLE 75
NA
NA
1
2018
January
Mon
2018-01-01
06:00:00:pm
Con heridos
Choque
CR 8 CL 41
3
NA
1
2018
January
Mon
2018-01-02
02:30:00:pm
Solo daños
Choque
CARRERA 25 37-42
NA
NA
1
2018
January
Tue
2018-01-02
03:00:00:pm
Solo daños
Choque
CR 51B 1D 35
NA
NA
1
2018
January
Tue
2018-01-02
03:45:00:pm
Solo daños
Choque
VIA 40 CLLE 85
NA
NA
1
2018
January
Tue
2018-01-02
04:10:00:pm
Solo daños
Choque
CL 19 CR 2C
NA
NA
1
2018
January
Tue
2018-01-02
05:30:00:pm
Solo daños
Choque
VIA 40 CL 77B
NA
NA
1
2018
January
Tue
Aunque 2020 fue un año de menor tráfico y flujo vehicular, también ocurrieron accidentes, por lo que para ver algunos de ellos, se aplica un cuarto filtro.
library(dplyr)library(knitr)filter4 <- AccidentesDB %>%filter(AÑO_ACCIDENTE ==2020)knitr::kable(head(filter4, 10), caption ="Primeras 10 filas de accidentes que ocurrieron en el año 2020")
Primeras 10 filas de accidentes que ocurrieron en el año 2020
FECHA_ACCIDENTE
HORA_ACCIDENTE
GRAVEDAD_ACCIDENTE
CLASE_ACCIDENTE
SITIO_EXACTO_ACCIDENTE
CANT_HERIDOS_EN _SITIO_ACCIDENTE
CANT_MUERTOS_EN _SITIO_ACCIDENTE
CANTIDAD_ACCIDENTES
AÑO_ACCIDENTE
MES_ACCIDENTE
DIA_ACCIDENTE
2020-01-01
05:00:00:pm
Solo daños
Choque
AV CIRCUNVALAR CL 96
NA
NA
1
2020
January
Wed
2020-01-01
05:30:00:am
Solo daños
Choque
CR 10 CL 10
NA
NA
1
2020
January
Wed
2020-01-01
05:40:00:pm
Solo daños
Choque
CL 114 CR 42
NA
NA
1
2020
January
Wed
2020-01-01
08:00:00:pm
Con heridos
Choque
CL 86 CR 9L
1
NA
1
2020
January
Wed
2020-01-01
08:10:00:pm
Solo daños
Choque
CL 72 CR 44 25
NA
NA
1
2020
January
Wed
2020-01-01
09:00:00:pm
Solo daños
Choque
CL 19 CR 2
NA
NA
1
2020
January
Wed
2020-01-01
09:00:00:pm
Solo daños
Choque
CR 6 89 87
NA
NA
1
2020
January
Wed
2020-01-01
09:30:00:pm
Solo daños
Choque
CL 72 CR 41
NA
NA
1
2020
January
Wed
2020-01-01
12:20:00:pm
Con heridos
Choque
CL 30 25 35
1
NA
1
2020
January
Wed
2020-01-01
12:30:00:am
Con heridos
Atropello
CL 60B CR 9
1
NA
1
2020
January
Wed
También, es posible saber cuántos accidentes ocurrieron a una hora determinada, para ello, se aplica un quinto filtro.
library(dplyr)library(knitr)filter5 <- AccidentesDB %>%filter(HORA_ACCIDENTE =="12:30:00:am")knitr::kable(head(filter5, 10), caption ="Primeras 10 filas de accidentes que ocurrieron a las 12:30 am")
Primeras 10 filas de accidentes que ocurrieron a las 12:30 am
FECHA_ACCIDENTE
HORA_ACCIDENTE
GRAVEDAD_ACCIDENTE
CLASE_ACCIDENTE
SITIO_EXACTO_ACCIDENTE
CANT_HERIDOS_EN _SITIO_ACCIDENTE
CANT_MUERTOS_EN _SITIO_ACCIDENTE
CANTIDAD_ACCIDENTES
AÑO_ACCIDENTE
MES_ACCIDENTE
DIA_ACCIDENTE
2018-02-09
12:30:00:am
Solo daños
Choque
CL 84 CR 51B
NA
NA
1
2018
February
Fri
2018-02-10
12:30:00:am
Solo daños
Choque
CR 44 CL 69
NA
NA
1
2018
February
Sat
2018-03-30
12:30:00:am
Solo daños
Choque
CALLE 68 29-84
NA
NA
1
2018
March
Fri
2018-04-20
12:30:00:am
Solo daños
Choque
CALLE 99 CRA 53
NA
NA
1
2018
April
Fri
2018-04-22
12:30:00:am
Con heridos
Volcamiento
CARRERA 42G2 CALLE 99B
2
NA
1
2018
April
Sun
2018-06-17
12:30:00:am
Solo daños
Choque
CALLE 100 CARRERA 37
NA
NA
1
2018
June
Sun
2018-09-22
12:30:00:am
Con heridos
Choque
CR 23 CL 68
1
NA
1
2018
September
Sat
2018-10-26
12:30:00:am
Con muertos
Atropello
AV CIRCUNVALAR CON CR 38
NA
1
1
2018
October
Fri
2018-11-16
12:30:00:am
Con heridos
Volcamiento
CL 110 CR 55
1
NA
1
2018
November
Fri
2018-12-01
12:30:00:am
Solo daños
Choque
CARRERA 47 CALLE 85
NA
NA
1
2018
December
Sat
Tras haber analizado la base de datos, es posible extraer algunos valores atípicos que se caracterizan por desviarse significativamente del resto de registros. Uno de ellos llamado “Caida Ocupante” se presenta en la variable “CLASE_ACCIDENTE”. Esta categoría es bastante peculiar, y por ende, es diferente a la mayoría de registros pertenecientes a esta variable, como los choques, atropellos y volcamientos. Además, en esta misma categoría, se presenta un segundo dato atípico llamado “Otro” que también difiere notablemente del resto de registros.
Sin embargo, también existen datos atípicos que pertenecen a otras categorías. Por ejemplo, en la variable “CANTIDAD_ACCIDENTES”, un sexto filtro revela que ha habido 5 ocasiones en las que se registraron más de un accidente en el mismo lugar, fecha y hora. Como se evidencia en la siguiente tabla:
library(dplyr)library(knitr)filter6 <- AccidentesDB %>%filter(CANTIDAD_ACCIDENTES =="2")knitr::kable(head(filter6, 10), caption ="Dato atípico - Más de 1 accidente a la vez")
Dato atípico - Más de 1 accidente a la vez
FECHA_ACCIDENTE
HORA_ACCIDENTE
GRAVEDAD_ACCIDENTE
CLASE_ACCIDENTE
SITIO_EXACTO_ACCIDENTE
CANT_HERIDOS_EN _SITIO_ACCIDENTE
CANT_MUERTOS_EN _SITIO_ACCIDENTE
CANTIDAD_ACCIDENTES
AÑO_ACCIDENTE
MES_ACCIDENTE
DIA_ACCIDENTE
2018-06-09
09:35:00:am
Solo daños
Choque
CARRERA 38 CALLE 52
NA
NA
2
2018
June
Sat
2019-12-28
12:28:00:pm
Solo daños
Choque
CR 38 CL 81
NA
NA
2
2019
December
Sat
2020-02-06
09:00:00:am
Solo daños
Choque
AV CIRCUNVALAR CR 27
NA
NA
2
2020
February
Thu
2020-05-02
07:40:00:pm
Solo daños
Choque
CR 46 87 27
NA
NA
2
2020
May
Sat
2020-11-05
05:25:00:pm
Solo daños
Choque
AV 110 CR 35
NA
NA
2
2020
November
Thu
Este análisis diferencial, permitió obtener los siguientes resultados:
1.) La base de datos utilizada, contiene 25610 registros y 11 variables relacionadas con accidentes de tránsito en la ciudad de Barranquilla.
2.) Tras clasificar las variables según su tipo, se dividen en:
3.) En esta base de datos existen múltiples valores atípicos, que se presentan en más de una variable y categoria. A su vez se utiliza “NA” para los datos que no están disponibles, ya sea por errores de registro, o porque no aplicaban para el respectivo accidente.