Se importan las librerías necesarias para el procesamiento de datos, visualización y generación de reportes.
library(knitr); library(kableExtra); library(dplyr); library(ggplot2); library(janitor)
Se permite la carga interactiva del archivo de datos para analizar información externa.
archivo <- file.choose()
datos <- read.csv(archivo, stringsAsFactors = FALSE) %>% clean_names()
datos$accident_date_time <- as.POSIXct(datos$accident_date_time, format="%m/%d/%Y %H:%M")
Se segmenta la hora del accidente en periodos categóricos para identificar patrones temporales.
datos$hora_numerica <- as.numeric(format(datos$accident_date_time, "%H"))
datos$periodo <- cut(datos$hora_numerica,
breaks = c(-1, 11, 17, 23),
labels = c("Mañana", "Tarde", "Noche"))
Se verifica la distribución inicial de los eventos mediante un conteo simple.
##
## Mañana Tarde Noche
## 1435 1000 360
Se organiza la información en una tabla formal con frecuencias absolutas y relativas para una lectura comparativa.
| Periodo | ni | hi (%) | fi |
|---|---|---|---|
| Mañana | 1435 | 51.34 | 0.51 |
| Tarde | 1000 | 35.78 | 0.36 |
| Noche | 360 | 12.88 | 0.13 |
| Total | 2795 | 100.00 | 1.00 |
Las representaciones visuales permiten detectar rápidamente la concentración de accidentes por periodos.
Se calcula la moda para identificar el periodo con mayor incidencia de accidentes.
| Variable | Moda |
|---|---|
| Periodo | Mañana |
Se sintetizan los hallazgos principales del análisis.
## Conclusión: La moda se concentra en el periodo de la Mañana.