INTRODUCCIÓN

El objetivo es estudiar la distribución de los accidentes de tráfico ocasionados en el año 2015 con los datos obtenidos de la web de la Dirección General de Tráfico (DGT). En concreto, nos centraremos en un análisis anual del número total de accidentes, el número total de víctimas y el número total de fallecidos en función del día de la semana en el que se produjeron.

Dicho análisis se elaborará bajo la plataforma de RStudio, donde se irán realizando todas las operaciones necesarias para poder proceder a su posterior comentario.

Principalmente, se centra en el estudio de una tabla y de tres gráficos -que iremos generando-.

TABLA Y ANÁLISIS

Mostrar una tabla que contenga para cada día de la semana el número de accidentes que ocurrieron, el número de víctimas y el número de muertos.

Abrimos los datos del archivo de la página Web de la DGT (“TABLA_ACCVICT_2015.csv”) creando una base de datos llamada estudio2015. El fichero estudio2015 contiene 97.756 observaciones (filas) y 39 variables (columnas).

Se quiere conseguir un examen más exahustivo sobre el total de víctimas, muertos y accidentes del año 2015 según ocurrieron en uno u otro día de la semana. Se hará mediante funciones de los paquetes de tidyverse, dplyr, tidyr y knitr, entre otros.

La tabla se genera agrupando las variables que nos interesan en función de DIASEMANA y sumando el total para cada día. A continuación, se ordena de forma descendente (de mayor a menor) respecto a la variable cuantitativa, en este caso se ordenará en función del número de accidentes ocasionados.

DIASEMANA VICTIMAS MUERTOS ACCIDENTES
5 21825 224 15813
4 19951 159 14833
2 19861 190 14592
3 19663 177 14586
1 20003 210 14565
6 18362 266 12526
7 16477 252 10841

Durante el año 2015, se produjeron 97.756 accidentes de tráfico, en los cuales hubo 1.478 víctimas mortales de las 136.142 víctimas totales.

El mayor número de accidentes mortales se produjo en fin de semana (de viernes a domingo):

Se percibe que el viernes recoge las cifras más altas de accidentes (15.813) y víctimas (21.825 personas, de las que, 224, resultaron fallecidas).

En contra, las cifras más bajas de accidentes y víctimas se recogen el fue superior (252 personas). Lo mismo sucedió los sábados, donde la cifra de muertos es la más alta del año, llegando a las 266 víctimas mortales.

GRÁFICOS Y ANÁLISIS

Representar tres diagramas de barras, uno para cada variable (número de accidentes, de víctimas y de muertos) con la distribución por día de la semana.

Veámoslo gráficamente. La composición de los gráficos se hará con la ayuda de los paquetes ggplot2 y scales. En concreto, crearemos tres diagramas de barras (con la función geom_bar) donde cada barra representa un día de la semana y la altura de las barras indica el total de cada variable.

R nos permite modificar los gráficos a nuestro gusto (con theme), así podremos añadir un título (con color, se puede matizar en negrita o controlar su tamaño, por ejemplo); graduar el ancho de las barras, el color y la transparencia de éstas; añadir un nombre a cada eje; limitar la escala o secuencia de los ejes; etc.

DIAGRAMA DE BARRAS DEL NÚMERO DE VÍCTIMAS POR DÍA DE LA SEMANA
## Scale for 'x' is already present. Adding another scale for 'x', which
## will replace the existing scale.

DIAGRAMA DE BARRAS DEL NÚMERO DE FALLECIDOS POR DÍA DE LA SEMANA

DIAGRAMA DE BARRAS DEL NÚMERO DE ACCIDENTES POR DÍA DE LA SEMANA

CONCLUSIONES

El mayor número de accidentes y víctimas de tráfico se producen los días laborables debido a su alta frecuencia. Sin embargo, los casos de mayor gravedad, aunque sean menos frecuentes, se registran los fines de semana y sus días próximos.

En el primer gráfico se observa que el número de víctimas es mayor el viernes y va disminuyendo durante el fin de semana.

El segundo gráfico hace referecia al número de fallecimientos correspondientes a cada día de la semana. Observamos como los fallecimientos aumentan considerablemnte desde el viernes hasta el domingo.

Y, en el tercer gráfico, se analiza el número de accidentes a lo largo de la semana. Muestra como mayor número de accidentes de lunes a viernes respecto al fin de semana. Puede ser explicado por el hehco de que, durante el fin de semana circulan más vehículos por vías interurbanas que por vías urbanas, donde, a la luz de los resultados, deben producirse mayores accidentes.

En definitiva, se producen más accidentes entre semana, lo que conlleva un mayor número de víctimas o heridos. Se debe a lo que podemos llamar “accidentes laborales” y es que, la mayoría de los “partes por accidentes de tráfico” son a consecuencia de incidencias durante las jornadas laborales (ya sea en el centro de trabajo o en los desplazamientos que éstos necesiten) o in itinere (al ir o al volver del trabajo). Pero, sin embargo, los accidentes mortales acaecen con mayor frencuencia los fines de semana, pudiendo explicarse por una mayor transicción de vehículos en vías interurbanas al ser días “de descanso”.

Se cerró el año 2015 con resultados de siniestralidad que llegaron a las 1.478 víctimas mortales.

Como conclusión, tanto la tabla como los diagramas de barras muestran que, si bien es cierto que hay más accidentes con víctimas de lunes a viernes, el número de fallecidos es mayor durante el fin de semana.

ASPECTOS RELEVANTES EN EL PROCESO DE EJECUCIÓN

Un aspecto complejo a la hora de generar la tabla es la variable ACCIDENTES puesto que, en la base de datos no figura como tal. El fichero contiene una columna con el identificador de cada uno de los accidentes (ID_ACCIDENTE) para el que se registran el resto de datos. El identificador está en formato numérico, esto significa que, si trabajamos sobre esa variable, R sumará el número asociado a los identificadores. Esto no tiene sentido. Por esta razón, se debe transformar ID_ACCIDENTE a formato caracter. Una vez con el formato modificado, agrupamos por el identificador y creamos una nueva columna “n()” que recogerá la suma total en función al día de la semana.

estudio2015%>%group_by(ID_ACCIDENTE)%>%summarise(n())
#Agrupar el número de veces que aparece cada identificador de accidente en una columna "n()".

estudio2015%>%group_by(DIASEMANA)%>%summarise(VICTIMAS=sum(TOT_VICTIMAS), MUERTOS=sum(TOT_MUERTOS), ACCIDENTES=sum(n()))
#Crea una última variable "ACCIDENTES" que corresponderá con la columna "n()" en función a los días de la semana.

Otra cuestión de interés tiene que ver con la realización de los gráficos y con todas las funciones que existen para dar, modificar y ajustar la forma de éstos a nuestro gusto personal. En este caso, los comandos empleados y sus respectivas funciones son las siguientes:

ggplot(data=TABLA, aes(x=DIASEMANA, y=VICTIMAS, fill=I("pink")))+geom_bar(stat="identity", width=0.5, alpha=.5)
    #"fill=I("pink")" Escoge el color de las barras
    #"width" Gradua el ancho de las barras 
    #"alpha" Gradua la transparencia de las barras

+theme(panel.background = element_rect(fill="white"))
    #Al añadir "theme" modificamos el tema del grafico; lo que hace es eliminar     las líneas del borde y poner el fondo blanco

+theme(axis.text = element_text(color="black"))
    #Cambia los elementos de texto al color seleccionado

+ggtitle("NÚMERO DE VÍCTIMAS POR DÍA DE LA SEMANA")
    #Añade un título al gráfico

+theme(plot.title = element_text(size=rel(1.5), colour="pink", face="bold"))
    #Cambia el tamaño del título, el color y lo marca en "negrita"

+ylab("VÍCTIMAS")+xlab("DÍAS")
    #Nombra los ejes

+theme(axis.title.x=element_text(face="bold",size=10, colour="black"))+theme(axis.title.y=element_text(face="bold",size=10, colour="black"))
    #Modifica el tamaño del texto de los ejes, marca en negrita y, además,          selecciona el color

+scale_y_continuous(limit=c(0,25000))
    #Establece un límite de escala para el eje y (mínimo y máximo)

+scale_x_continuous(breaks=seq(0,7,1))
    #Establece la secuencia para el eje x