Emanuel Carbonell
Este análisis descriptivo se basa en la base de datos de accidentes de tráfico en Barranquilla, disponible en el portal de datos abiertos del gobierno de Colombia. El objetivo es comprender la estructura de los datos, analizar las características de las variables, identificar valores faltantes (NA) y atípicos, y visualizar los resultados de manera clara.
La base de datos recoge información sobre los accidentes de tránsito en Barranquilla, reportados en los Informes Policiales de Accidentes de Tránsito (IPAT). A continuación, se describen las variables incluidas en el conjunto de datos:
| Variable | Descripción |
|---|---|
| FECHA_ACCIDENTE | Fecha del accidente |
| HORA_ACCIDENTE | Hora del accidente |
| GRAVEDAD_ACCIDENTE | Gravedad del accidente |
| CLASE_ACCIDENTE | Clase de accidente |
| SITIO_EXACTO_ACCIDENTE | Sitio exacto del accidente |
| CANT_HERIDOS_EN_SITIO_ACCIDENTE | Cantidad de heridos en el sitio del accidente |
| CANT_MUERTOS_EN_SITIO_ACCIDENTE | Cantidad de muertos en el sitio del accidente |
| CANTIDAD_ACCIDENTES | Cantidad de accidentes |
| AÑO_ACCIDENTE | Año del accidente |
| MES_ACCIDENTE | Mes del accidente |
| DIA_ACCIDENTE | Día del accidente |
## [1] 25610 11
## FECHA_ACCIDENTE HORA_ACCIDENTE GRAVEDAD_ACCIDENTE
## Min. :2018-01-01 00:00:00.00 Length:25610 Length:25610
## 1st Qu.:2019-02-02 00:00:00.00 Class :character Class :character
## Median :2020-04-23 12:00:00.00 Mode :character Mode :character
## Mean :2020-07-31 19:57:36.05
## 3rd Qu.:2021-12-13 00:00:00.00
## Max. :2024-06-30 00:00:00.00
##
## CLASE_ACCIDENTE SITIO_EXACTO_ACCIDENTE CANT_HERIDOS_EN _SITIO_ACCIDENTE
## Length:25610 Length:25610 Min. : 1.000
## Class :character Class :character 1st Qu.: 1.000
## Mode :character Mode :character Median : 1.000
## Mean : 1.472
## 3rd Qu.: 2.000
## Max. :42.000
## NA's :15626
## CANT_MUERTOS_EN _SITIO_ACCIDENTE CANTIDAD_ACCIDENTES AÑO_ACCIDENTE
## Min. :1.000 Min. :1 Min. :2018
## 1st Qu.:1.000 1st Qu.:1 1st Qu.:2019
## Median :1.000 Median :1 Median :2020
## Mean :1.036 Mean :1 Mean :2020
## 3rd Qu.:1.000 3rd Qu.:1 3rd Qu.:2021
## Max. :2.000 Max. :2 Max. :2024
## NA's :25358
## MES_ACCIDENTE DIA_ACCIDENTE
## Length:25610 Length:25610
## Class :character Class :character
## Mode :character Mode :character
##
##
##
##
En esta sección, clasificaremos las variables de la base de datos de accidentes en Barranquilla según su tipo: numéricas o categóricas. Esta distinción es crucial porque determina las técnicas de análisis y visualización que utilizaremos. A continuación, realizamos un análisis detallado para cada tipo de variable, destacando sus características principales.
## Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
## 1.000 1.000 1.000 1.472 2.000 42.000 15626
## Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
## 1.000 1.000 1.000 1.036 1.000 2.000 25358
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1 1 1 1 1 2
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 2018 2019 2020 2020 2021 2024
##
## Con heridos Con muertos Solo daños
## 9901 252 15457
##
## Atropello Caida Ocupante Choque Incendio Otro
## 1344 194 23819 13 123
## Volcamiento
## 117
##
## April August December February January July June March
## 2010 1918 2189 2477 2349 1932 2103 2446
## May November October September
## 2121 1995 2090 1980
##
## Fri Mon Sat Sun Thu Tue Wed
## 3920 3774 3735 2577 3756 4009 3839
El filtrado de datos nos permite enfocar el análisis en subconjuntos específicos que revelan patrones importantes en los accidentes de tráfico en Barranquilla. Aplicaremos diferentes filtros, como clase y gravedad del accidente, año, mes y cantidad de heridos, para identificar tendencias y características relevantes en los datos.
## # A tibble: 23,819 × 11
## FECHA_ACCIDENTE HORA_ACCIDENTE GRAVEDAD_ACCIDENTE CLASE_ACCIDENTE
## <dttm> <chr> <chr> <chr>
## 1 2018-01-01 00:00:00 02:00:00:pm Solo daños Choque
## 2 2018-01-01 00:00:00 04:00:00:am Solo daños Choque
## 3 2018-01-01 00:00:00 04:30:00:am Solo daños Choque
## 4 2018-01-01 00:00:00 05:20:00:pm Solo daños Choque
## 5 2018-01-01 00:00:00 06:00:00:pm Con heridos Choque
## 6 2018-01-02 00:00:00 02:30:00:pm Solo daños Choque
## 7 2018-01-02 00:00:00 03:00:00:pm Solo daños Choque
## 8 2018-01-02 00:00:00 03:45:00:pm Solo daños Choque
## 9 2018-01-02 00:00:00 04:10:00:pm Solo daños Choque
## 10 2018-01-02 00:00:00 05:30:00:pm Solo daños Choque
## # ℹ 23,809 more rows
## # ℹ 7 more variables: SITIO_EXACTO_ACCIDENTE <chr>,
## # `CANT_HERIDOS_EN _SITIO_ACCIDENTE` <dbl>,
## # `CANT_MUERTOS_EN _SITIO_ACCIDENTE` <dbl>, CANTIDAD_ACCIDENTES <dbl>,
## # AÑO_ACCIDENTE <dbl>, MES_ACCIDENTE <chr>, DIA_ACCIDENTE <chr>
## # A tibble: 252 × 11
## FECHA_ACCIDENTE HORA_ACCIDENTE GRAVEDAD_ACCIDENTE CLASE_ACCIDENTE
## <dttm> <chr> <chr> <chr>
## 1 2018-01-06 00:00:00 12:15:00:pm Con muertos Atropello
## 2 2018-01-21 00:00:00 10:30:00:pm Con muertos Choque
## 3 2018-01-22 00:00:00 01:30:00:pm Con muertos Atropello
## 4 2018-01-25 00:00:00 05:20:00:pm Con muertos Choque
## 5 2018-02-04 00:00:00 09:40:00:pm Con muertos Choque
## 6 2018-02-10 00:00:00 04:00:00:pm Con muertos Volcamiento
## 7 2018-02-23 00:00:00 01:10:00:am Con muertos Choque
## 8 2018-03-04 00:00:00 05:10:00:am Con muertos Choque
## 9 2018-03-07 00:00:00 05:55:00:am Con muertos Atropello
## 10 2018-03-22 00:00:00 02:30:00:pm Con muertos Atropello
## # ℹ 242 more rows
## # ℹ 7 more variables: SITIO_EXACTO_ACCIDENTE <chr>,
## # `CANT_HERIDOS_EN _SITIO_ACCIDENTE` <dbl>,
## # `CANT_MUERTOS_EN _SITIO_ACCIDENTE` <dbl>, CANTIDAD_ACCIDENTES <dbl>,
## # AÑO_ACCIDENTE <dbl>, MES_ACCIDENTE <chr>, DIA_ACCIDENTE <chr>
## # A tibble: 1,662 × 11
## FECHA_ACCIDENTE HORA_ACCIDENTE GRAVEDAD_ACCIDENTE CLASE_ACCIDENTE
## <dttm> <chr> <chr> <chr>
## 1 2023-01-01 00:00:00 07:50:00:am Con heridos Choque
## 2 2023-01-01 00:00:00 11:10:00:am Con heridos Choque
## 3 2023-01-02 00:00:00 02:15:00:am Con heridos Choque
## 4 2023-01-02 00:00:00 07:00:00:pm Con heridos Atropello
## 5 2023-01-02 00:00:00 09:00:00:pm Con heridos Choque
## 6 2023-01-02 00:00:00 10:15:00:am Con heridos Choque
## 7 2023-01-02 00:00:00 12:40:00:am Con heridos Choque
## 8 2023-01-03 00:00:00 05:15:00:pm Con heridos Choque
## 9 2023-01-03 00:00:00 07:10:00:am Con heridos Choque
## 10 2023-01-04 00:00:00 01:10:00:pm Con heridos Choque
## # ℹ 1,652 more rows
## # ℹ 7 more variables: SITIO_EXACTO_ACCIDENTE <chr>,
## # `CANT_HERIDOS_EN _SITIO_ACCIDENTE` <dbl>,
## # `CANT_MUERTOS_EN _SITIO_ACCIDENTE` <dbl>, CANTIDAD_ACCIDENTES <dbl>,
## # AÑO_ACCIDENTE <dbl>, MES_ACCIDENTE <chr>, DIA_ACCIDENTE <chr>
# Filtro por Mes del Accidente:
AccidentesEnero <- subset(Data, MES_ACCIDENTE == "Enero")
AccidentesEnero## # A tibble: 0 × 11
## # ℹ 11 variables: FECHA_ACCIDENTE <dttm>, HORA_ACCIDENTE <chr>,
## # GRAVEDAD_ACCIDENTE <chr>, CLASE_ACCIDENTE <chr>,
## # SITIO_EXACTO_ACCIDENTE <chr>, CANT_HERIDOS_EN _SITIO_ACCIDENTE <dbl>,
## # CANT_MUERTOS_EN _SITIO_ACCIDENTE <dbl>, CANTIDAD_ACCIDENTES <dbl>,
## # AÑO_ACCIDENTE <dbl>, MES_ACCIDENTE <chr>, DIA_ACCIDENTE <chr>
# Filtro por Cantidad de Heridos en el Sitio del Accidente
Heridos <- subset(Data, `CANT_HERIDOS_EN _SITIO_ACCIDENTE` > 3)
Heridos## # A tibble: 303 × 11
## FECHA_ACCIDENTE HORA_ACCIDENTE GRAVEDAD_ACCIDENTE CLASE_ACCIDENTE
## <dttm> <chr> <chr> <chr>
## 1 2018-01-07 00:00:00 08:30:00:pm Con heridos Choque
## 2 2018-01-11 00:00:00 09:40:00:am Con heridos Choque
## 3 2018-01-15 00:00:00 03:00:00:am Con heridos Choque
## 4 2018-01-18 00:00:00 11:30:00:am Con heridos Choque
## 5 2018-01-19 00:00:00 11:50:00:pm Con heridos Choque
## 6 2018-02-09 00:00:00 01:30:00:am Con heridos Choque
## 7 2018-02-11 00:00:00 11:50:00:pm Con heridos Choque
## 8 2018-02-28 00:00:00 08:45:00:pm Con heridos Choque
## 9 2018-03-06 00:00:00 05:00:00:am Con heridos Choque
## 10 2018-03-06 00:00:00 07:00:00:am Con heridos Choque
## # ℹ 293 more rows
## # ℹ 7 more variables: SITIO_EXACTO_ACCIDENTE <chr>,
## # `CANT_HERIDOS_EN _SITIO_ACCIDENTE` <dbl>,
## # `CANT_MUERTOS_EN _SITIO_ACCIDENTE` <dbl>, CANTIDAD_ACCIDENTES <dbl>,
## # AÑO_ACCIDENTE <dbl>, MES_ACCIDENTE <chr>, DIA_ACCIDENTE <chr>
##
## 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
## 6911 2301 469 155 57 29 14 9 6 7 6 7 2 2 1 1
## 18 19 20 21 22 23 42
## 1 1 1 1 1 1 1
##
## 1 2
## 243 9
##
## Atropello Caida Ocupante Choque Incendio Otro
## 1344 194 23819 13 123
## Volcamiento
## 117
##
## Con heridos Con muertos Solo daños
## 9901 252 15457
Para visualizar los datos y entender mejor las distribuciones y valores atípicos, utilizaremos gráficos de barras, histogramas y boxplots.
Para analizar la integridad de los datos, es importante identificar las variables que contienen valores faltantes (NA). A continuación, se presenta la distribución de valores NA para cada variable del conjunto de datos. Este análisis permite detectar posibles problemas en la captura de datos que podrían afectar los resultados del estudio.
El gráfico de barras revela que las variables
CANT_HERIDOS_EN_SITIO_ACCIDENTE y
CANT_MUERTOS_EN_SITIO_ACCIDENTE presentan la mayor cantidad
de valores faltantes, con más de 15,000 y 25,000 NA respectivamente.
Esto indica una falta significativa de información sobre el número de
heridos y muertos en los registros de accidentes, lo cual puede afectar
la calidad del análisis de la severidad de los accidentes y la
construcción de modelos predictivos. En contraste, las demás variables
como SITIO_EXACTO_ACCIDENTE, MES_ACCIDENTE,
HORA_ACCIDENTE, y GRAVEDAD_ACCIDENTE tienen pocos o ningún
valor faltante, sugiriendo que estos datos están más completos y son más
confiables para análisis adicionales. Dada la gran cantidad de datos
faltantes en variables clave, es necesario considerar estrategias como
la imputación o la eliminación de registros, dependiendo del contexto
del análisis y los objetivos específicos. Esta situación resalta la
importancia de evaluar cuidadosamente cómo manejar los valores faltantes
para asegurar la integridad y validez del análisis de datos. #
Identificación de Valores Atípicos
El análisis de valores atípicos es fundamental para detectar puntos de datos que se desvían significativamente del resto. Estos valores pueden ser indicativos de errores de entrada o eventos únicos que requieren una atención especial. Utilizando gráficos como boxplots, podemos visualizar la dispersión y detectar los valores extremos presentes en el conjunto de datos.
El gráfico de boxplots muestra la distribución y los valores atípicos
para las variables CANT_HERIDOS_EN_SITIO_ACCIDENTE,
CANT_MUERTOS_EN_SITIO_ACCIDENTE, y
CANTIDAD_ACCIDENTES en el conjunto de datos. En el caso de
CANT_HERIDOS_EN_SITIO_ACCIDENTE, el boxplot revela una gran
cantidad de valores atípicos, representados por puntos azules, que se
extienden mucho más allá del rango intercuartílico, alcanzando hasta 40
heridos en algunos accidentes. Esto indica que aunque la mayoría de los
accidentes reportan pocos o ningún herido, hay eventos extremos con un
número significativamente mayor de heridos.
Para la variable CANT_MUERTOS_EN_SITIO_ACCIDENTE, el
boxplot muestra un solo valor atípico destacado, con la mayoría de los
registros indicando 0 o 1 muerto. Esto sugiere que los accidentes con
múltiples muertes son raros, pero existen casos excepcionales que deben
ser considerados en el análisis. Finalmente, en el boxplot de
CANTIDAD_ACCIDENTES, se observa un valor atípico notable,
lo que indica que la mayoría de los sitios reportan un solo accidente,
mientras que hay algunos sitios con registros de múltiples accidentes
que podrían ser de interés para un análisis más detallado. En conjunto,
estos gráficos destacan la presencia de valores extremos en las
variables clave del conjunto de datos, lo que sugiere la necesidad de
manejar estos outliers cuidadosamente en cualquier análisis o modelado
posterior.