Introduccion

Se propone abordar la primera fase de un proyecto de analítica de datos: la fase descriptiva. Para este sprint se pide cargar y transformar los datos facilitados en el link de descarga solo para los años 2012 a 2018.

Fuente de datos

Objetivo de la actividad

Familiarizarse con problemas reales basados en datos abiertos. Reproducir paso a paso la primera parte de un proyecto de analítica de datos: carga y limpieza de datos, y análisis exploratorio inicial. En este caso, un reto relacionado con la predicción de accidentes de tráfico, conectado así con el sector Transportes.

Preparacion del entorno de trabajo

Se cargan las librerias y los datos a trabajar.

options(repos = c(CRAN = "https://cloud.r-project.org"))
# Instalar y cargar las bibliotecas necesarias
# install.packages(c("tidyverse", "lubridate", "readxl", "ggmap"))

library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.4     ✔ readr     2.1.5
## ✔ forcats   1.0.0     ✔ stringr   1.5.0
## ✔ ggplot2   3.5.1     ✔ tibble    3.2.1
## ✔ lubridate 1.9.3     ✔ tidyr     1.3.1
## ✔ purrr     1.0.2     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(lubridate)
library(readxl)
library(ggmap)
## ℹ Google's Terms of Service: <https://mapsplatform.google.com>
##   Stadia Maps' Terms of Service: <https://stadiamaps.com/terms-of-service/>
##   OpenStreetMap's Tile Usage Policy: <https://operations.osmfoundation.org/policies/tiles/>
## ℹ Please cite ggmap if you use it! Use `citation("ggmap")` for details.
# Cargar los datos
data <- read_excel("/Users/anadinezio/Downloads/ADP_Clase 1/Sprint1Table.xlsx")

Exploracion de los datos

# Analitica exploratoria basica
View(data)  #lo comento para que me permita generar el html
summary(data)
##      FECHA                        RANGO HORARIO       DIA SEMANA       
##  Min.   :2012-01-01 00:00:00.00   Length:199078      Length:199078     
##  1st Qu.:2013-11-17 00:00:00.00   Class :character   Class :character  
##  Median :2015-08-26 00:00:00.00   Mode  :character   Mode  :character  
##  Mean   :2015-08-04 11:54:54.02                                        
##  3rd Qu.:2017-05-11 00:00:00.00                                        
##  Max.   :2018-12-31 00:00:00.00                                        
##                                                                        
##    DISTRITO         LUGAR ACCIDENTE          Nº            Nº PARTE        
##  Length:199078      Length:199078      Min.   :    0.0   Length:199078     
##  Class :character   Class :character   1st Qu.:    0.0   Class :character  
##  Mode  :character   Mode  :character   Median :    1.0   Mode  :character  
##                                        Mean   :  968.7                     
##                                        3rd Qu.:   50.0                     
##                                        Max.   :53500.0                     
##                                        NA's   :3087                        
##  CPFA Granizo        CPFA Hielo        CPFA Lluvia        CPFA Niebla       
##  Length:199078      Length:199078      Length:199078      Length:199078     
##  Class :character   Class :character   Class :character   Class :character  
##  Mode  :character   Mode  :character   Mode  :character   Mode  :character  
##                                                                             
##                                                                             
##                                                                             
##                                                                             
##   CPFA Seco          CPFA Nieve        CPSV Mojada        CPSV Aceite       
##  Length:199078      Length:199078      Length:199078      Length:199078     
##  Class :character   Class :character   Class :character   Class :character  
##  Mode  :character   Mode  :character   Mode  :character   Mode  :character  
##                                                                             
##                                                                             
##                                                                             
##                                                                             
##   CPSV Barro        CPSV Grava Suelta   CPSV Hielo        CPSV Seca Y Limpia
##  Length:199078      Length:199078      Length:199078      Length:199078     
##  Class :character   Class :character   Class :character   Class :character  
##  Mode  :character   Mode  :character   Mode  :character   Mode  :character  
##                                                                             
##                                                                             
##                                                                             
##                                                                             
##  Nº VICTIMAS *   TIPO ACCIDENTE     Tipo Vehiculo      TIPO PERSONA      
##  Min.   : 1.00   Length:199078      Length:199078      Length:199078     
##  1st Qu.: 1.00   Class :character   Class :character   Class :character  
##  Median : 1.00   Mode  :character   Mode  :character   Mode  :character  
##  Mean   : 1.46                                                           
##  3rd Qu.: 2.00                                                           
##  Max.   :19.00                                                           
##                                                                          
##      SEXO            LESIVIDAD          Tramo Edad       
##  Length:199078      Length:199078      Length:199078     
##  Class :character   Class :character   Class :character  
##  Mode  :character   Mode  :character   Mode  :character  
##                                                          
##                                                          
##                                                          
## 
print(data)
## # A tibble: 199,078 × 26
##    FECHA               `RANGO HORARIO` `DIA SEMANA` DISTRITO   `LUGAR ACCIDENTE`
##    <dttm>              <chr>           <chr>        <chr>      <chr>            
##  1 2012-01-01 00:00:00 DE 2:00 A 2:59  DOMINGO      CENTRO     CALLE DE LA PRIN…
##  2 2012-01-01 00:00:00 DE 2:00 A 2:59  DOMINGO      CENTRO     CALLE DE LA PRIN…
##  3 2012-01-01 00:00:00 DE 2:00 A 2:59  DOMINGO      CENTRO     CALLE DE LA PRIN…
##  4 2012-01-01 00:00:00 DE 2:00 A 2:59  DOMINGO      CENTRO     CALLE DE LA PRIN…
##  5 2012-01-01 00:00:00 DE 2:00 A 2:59  DOMINGO      PUENTE DE… AVENIDA DE SAN D…
##  6 2012-01-01 00:00:00 DE 2:00 A 2:59  DOMINGO      PUENTE DE… AVENIDA DE SAN D…
##  7 2012-01-01 00:00:00 DE 2:00 A 2:59  DOMINGO      PUENTE DE… AVENIDA DE SAN D…
##  8 2012-01-01 00:00:00 DE 2:00 A 2:59  DOMINGO      PUENTE DE… AVENIDA DE SAN D…
##  9 2012-01-01 00:00:00 DE 2:00 A 2:59  DOMINGO      PUENTE DE… AVENIDA DE SAN D…
## 10 2012-01-01 00:00:00 DE 2:00 A 2:59  DOMINGO      TETUAN     CALLE DE BRAVO M…
## # ℹ 199,068 more rows
## # ℹ 21 more variables: Nº <dbl>, `Nº PARTE` <chr>, `CPFA Granizo` <chr>,
## #   `CPFA Hielo` <chr>, `CPFA Lluvia` <chr>, `CPFA Niebla` <chr>,
## #   `CPFA Seco` <chr>, `CPFA Nieve` <chr>, `CPSV Mojada` <chr>,
## #   `CPSV Aceite` <chr>, `CPSV Barro` <chr>, `CPSV Grava Suelta` <chr>,
## #   `CPSV Hielo` <chr>, `CPSV Seca Y Limpia` <chr>, `Nº VICTIMAS *` <dbl>,
## #   `TIPO ACCIDENTE` <chr>, `Tipo Vehiculo` <chr>, `TIPO PERSONA` <chr>, …
head(data)
## # A tibble: 6 × 26
##   FECHA               `RANGO HORARIO` `DIA SEMANA` DISTRITO    `LUGAR ACCIDENTE`
##   <dttm>              <chr>           <chr>        <chr>       <chr>            
## 1 2012-01-01 00:00:00 DE 2:00 A 2:59  DOMINGO      CENTRO      CALLE DE LA PRIN…
## 2 2012-01-01 00:00:00 DE 2:00 A 2:59  DOMINGO      CENTRO      CALLE DE LA PRIN…
## 3 2012-01-01 00:00:00 DE 2:00 A 2:59  DOMINGO      CENTRO      CALLE DE LA PRIN…
## 4 2012-01-01 00:00:00 DE 2:00 A 2:59  DOMINGO      CENTRO      CALLE DE LA PRIN…
## 5 2012-01-01 00:00:00 DE 2:00 A 2:59  DOMINGO      PUENTE DE … AVENIDA DE SAN D…
## 6 2012-01-01 00:00:00 DE 2:00 A 2:59  DOMINGO      PUENTE DE … AVENIDA DE SAN D…
## # ℹ 21 more variables: Nº <dbl>, `Nº PARTE` <chr>, `CPFA Granizo` <chr>,
## #   `CPFA Hielo` <chr>, `CPFA Lluvia` <chr>, `CPFA Niebla` <chr>,
## #   `CPFA Seco` <chr>, `CPFA Nieve` <chr>, `CPSV Mojada` <chr>,
## #   `CPSV Aceite` <chr>, `CPSV Barro` <chr>, `CPSV Grava Suelta` <chr>,
## #   `CPSV Hielo` <chr>, `CPSV Seca Y Limpia` <chr>, `Nº VICTIMAS *` <dbl>,
## #   `TIPO ACCIDENTE` <chr>, `Tipo Vehiculo` <chr>, `TIPO PERSONA` <chr>,
## #   SEXO <chr>, LESIVIDAD <chr>, `Tramo Edad` <chr>
tail(data)
## # A tibble: 6 × 26
##   FECHA               `RANGO HORARIO`  `DIA SEMANA` DISTRITO  `LUGAR ACCIDENTE` 
##   <dttm>              <chr>            <chr>        <chr>     <chr>             
## 1 2018-12-31 00:00:00 DE 21:00 A 21:59 LUNES        SALAMANCA CALLE DE VELAZQUE…
## 2 2018-12-31 00:00:00 DE 21:00 A 21:59 LUNES        SALAMANCA CALLE DE VELAZQUE…
## 3 2018-12-31 00:00:00 DE 21:00 A 21:59 LUNES        SALAMANCA CALLE DE VELAZQUE…
## 4 2018-12-31 00:00:00 DE 23:00 A 23:59 LUNES        HORTALEZA CALLE DE JOAQUIN …
## 5 2018-12-31 00:00:00 DE 23:00 A 23:59 LUNES        HORTALEZA CALLE DE JOAQUIN …
## 6 2018-12-31 00:00:00 DE 23:00 A 23:59 LUNES        HORTALEZA CALLE DE JOAQUIN …
## # ℹ 21 more variables: Nº <dbl>, `Nº PARTE` <chr>, `CPFA Granizo` <chr>,
## #   `CPFA Hielo` <chr>, `CPFA Lluvia` <chr>, `CPFA Niebla` <chr>,
## #   `CPFA Seco` <chr>, `CPFA Nieve` <chr>, `CPSV Mojada` <chr>,
## #   `CPSV Aceite` <chr>, `CPSV Barro` <chr>, `CPSV Grava Suelta` <chr>,
## #   `CPSV Hielo` <chr>, `CPSV Seca Y Limpia` <chr>, `Nº VICTIMAS *` <dbl>,
## #   `TIPO ACCIDENTE` <chr>, `Tipo Vehiculo` <chr>, `TIPO PERSONA` <chr>,
## #   SEXO <chr>, LESIVIDAD <chr>, `Tramo Edad` <chr>
str(data)
## tibble [199,078 × 26] (S3: tbl_df/tbl/data.frame)
##  $ FECHA             : POSIXct[1:199078], format: "2012-01-01" "2012-01-01" ...
##  $ RANGO HORARIO     : chr [1:199078] "DE 2:00 A 2:59" "DE 2:00 A 2:59" "DE 2:00 A 2:59" "DE 2:00 A 2:59" ...
##  $ DIA SEMANA        : chr [1:199078] "DOMINGO" "DOMINGO" "DOMINGO" "DOMINGO" ...
##  $ DISTRITO          : chr [1:199078] "CENTRO" "CENTRO" "CENTRO" "CENTRO" ...
##  $ LUGAR ACCIDENTE   : chr [1:199078] "CALLE DE LA PRINCESA NUM" "CALLE DE LA PRINCESA NUM" "CALLE DE LA PRINCESA NUM" "CALLE DE LA PRINCESA NUM" ...
##  $ Nº                : num [1:199078] 10 10 10 10 96 96 96 96 96 0 ...
##  $ Nº PARTE          : chr [1:199078] "2012/98" "2012/98" "2012/98" "2012/98" ...
##  $ CPFA Granizo      : chr [1:199078] "NO" "NO" "NO" "NO" ...
##  $ CPFA Hielo        : chr [1:199078] "NO" "NO" "NO" "NO" ...
##  $ CPFA Lluvia       : chr [1:199078] "NO" "NO" "NO" "NO" ...
##  $ CPFA Niebla       : chr [1:199078] "NO" "NO" "NO" "NO" ...
##  $ CPFA Seco         : chr [1:199078] "SI" "SI" "SI" "SI" ...
##  $ CPFA Nieve        : chr [1:199078] "NO" "NO" "NO" "NO" ...
##  $ CPSV Mojada       : chr [1:199078] "NO" "NO" "NO" "NO" ...
##  $ CPSV Aceite       : chr [1:199078] "NO" "NO" "NO" "NO" ...
##  $ CPSV Barro        : chr [1:199078] "NO" "NO" "NO" "NO" ...
##  $ CPSV Grava Suelta : chr [1:199078] "NO" "NO" "NO" "NO" ...
##  $ CPSV Hielo        : chr [1:199078] "NO" "NO" "NO" "NO" ...
##  $ CPSV Seca Y Limpia: chr [1:199078] "SI" "SI" "SI" "SI" ...
##  $ Nº VICTIMAS *     : num [1:199078] 2 2 2 2 1 1 1 1 1 3 ...
##  $ TIPO ACCIDENTE    : chr [1:199078] "ATROPELLO" "ATROPELLO" "ATROPELLO" "ATROPELLO" ...
##  $ Tipo Vehiculo     : chr [1:199078] "NO ASIGNADO" "NO ASIGNADO" "NO ASIGNADO" "AUTO-TAXI" ...
##  $ TIPO PERSONA      : chr [1:199078] "PEATON" "PEATON" "TESTIGO" "CONDUCTOR" ...
##  $ SEXO              : chr [1:199078] "HOMBRE" "MUJER" "HOMBRE" "HOMBRE" ...
##  $ LESIVIDAD         : chr [1:199078] "HL" "HL" "IL" "IL" ...
##  $ Tramo Edad        : chr [1:199078] "DE 25 A 29 AÑOS" "DE 25 A 29 AÑOS" "DESCONOCIDA" "DE 35 A 39 AÑOS" ...
glimpse(data)
## Rows: 199,078
## Columns: 26
## $ FECHA                <dttm> 2012-01-01, 2012-01-01, 2012-01-01, 2012-01-01, …
## $ `RANGO HORARIO`      <chr> "DE 2:00 A 2:59", "DE 2:00 A 2:59", "DE 2:00 A 2:…
## $ `DIA SEMANA`         <chr> "DOMINGO", "DOMINGO", "DOMINGO", "DOMINGO", "DOMI…
## $ DISTRITO             <chr> "CENTRO", "CENTRO", "CENTRO", "CENTRO", "PUENTE D…
## $ `LUGAR ACCIDENTE`    <chr> "CALLE DE LA PRINCESA NUM", "CALLE DE LA PRINCESA…
## $ Nº                   <dbl> 10, 10, 10, 10, 96, 96, 96, 96, 96, 0, 0, 0, 0, 0…
## $ `Nº PARTE`           <chr> "2012/98", "2012/98", "2012/98", "2012/98", "2012…
## $ `CPFA Granizo`       <chr> "NO", "NO", "NO", "NO", "NO", "NO", "NO", "NO", "…
## $ `CPFA Hielo`         <chr> "NO", "NO", "NO", "NO", "NO", "NO", "NO", "NO", "…
## $ `CPFA Lluvia`        <chr> "NO", "NO", "NO", "NO", "NO", "NO", "NO", "NO", "…
## $ `CPFA Niebla`        <chr> "NO", "NO", "NO", "NO", "NO", "NO", "NO", "NO", "…
## $ `CPFA Seco`          <chr> "SI", "SI", "SI", "SI", "SI", "SI", "SI", "SI", "…
## $ `CPFA Nieve`         <chr> "NO", "NO", "NO", "NO", "NO", "NO", "NO", "NO", "…
## $ `CPSV Mojada`        <chr> "NO", "NO", "NO", "NO", "NO", "NO", "NO", "NO", "…
## $ `CPSV Aceite`        <chr> "NO", "NO", "NO", "NO", "NO", "NO", "NO", "NO", "…
## $ `CPSV Barro`         <chr> "NO", "NO", "NO", "NO", "NO", "NO", "NO", "NO", "…
## $ `CPSV Grava Suelta`  <chr> "NO", "NO", "NO", "NO", "NO", "NO", "NO", "NO", "…
## $ `CPSV Hielo`         <chr> "NO", "NO", "NO", "NO", "NO", "NO", "NO", "NO", "…
## $ `CPSV Seca Y Limpia` <chr> "SI", "SI", "SI", "SI", "SI", "SI", "SI", "SI", "…
## $ `Nº VICTIMAS *`      <dbl> 2, 2, 2, 2, 1, 1, 1, 1, 1, 3, 3, 3, 3, 1, 1, 1, 1…
## $ `TIPO ACCIDENTE`     <chr> "ATROPELLO", "ATROPELLO", "ATROPELLO", "ATROPELLO…
## $ `Tipo Vehiculo`      <chr> "NO ASIGNADO", "NO ASIGNADO", "NO ASIGNADO", "AUT…
## $ `TIPO PERSONA`       <chr> "PEATON", "PEATON", "TESTIGO", "CONDUCTOR", "COND…
## $ SEXO                 <chr> "HOMBRE", "MUJER", "HOMBRE", "HOMBRE", "HOMBRE", …
## $ LESIVIDAD            <chr> "HL", "HL", "IL", "IL", "IL", "IL", "IL", "HL", "…
## $ `Tramo Edad`         <chr> "DE 25 A 29 AÑOS", "DE 25 A 29 AÑOS", "DESCONOCID…

Despues de una exploracion basica de los datos se hacen tablas por variable y graficas simples.

# Tablas por variable
table(data$`DIA SEMANA`)
## 
##   DOMINGO    JUEVES     LUNES    MARTES MIERCOLES    SABADO   VIERNES 
##     21500     30565     28771     29729     30484     23946     34083
table(data$`RANGO HORARIO`)
## 
## DE 00:00 A 00:59   DE 1:00 A 1:59 DE 10:00 A 10:59 DE 11:00 A 11:59 
##             3688             2700             9159             9761 
## DE 12:00 A 12:59 DE 13:00 A 13:59 DE 14:00 A 14:59 DE 15:00 A 15:59 
##            11340            12667            14575            11664 
## DE 16:00 A 16:59 DE 17:00 A 17:59 DE 18:00 A 18:59 DE 19:00 A 19:59 
##            10677            11249            12647            14232 
##   DE 2:00 A 2:59 DE 20:00 A 20:59 DE 21:00 A 21:59 DE 22:00 A 22:59 
##             2111            13619            11164             8398 
## DE 23:00 A 23:59   DE 3:00 A 3:59   DE 4:00 A 4:59   DE 5:00 A 5:59 
##             5602             1728             1520             1612 
##   DE 6:00 A 6:59   DE 7:00 A 7:59   DE 8:00 A 8:59   DE 9:00 A 9:59 
##             2954             5090             9376            11545
table(data$DISTRITO)
## 
##          ARGANZUELA             BARAJAS         CARABANCHEL              CENTRO 
##               10246                2749               12225               13791 
##           CHAMARTIN            CHAMBERI       CIUDAD LINEAL FUENCARRAL-EL PARDO 
##               14736               11354               12876               10745 
##           HORTALEZA              LATINA     MONCLOA-ARAVACA           MORATALAZ 
##                6875                9532               10446                4955 
##  PUENTE DE VALLECAS              RETIRO           SALAMANCA            SAN BLAS 
##               12825               10873               15288                9574 
##              TETUAN               USERA           VICALVARO   VILLA DE VALLECAS 
##               10763                6975                2486                4434 
##          VILLAVERDE 
##                5330
table(data$`TIPO ACCIDENTE`)
## 
##               ATROPELLO         CAÍDA BICICLETA        CAÍDA CICLOMOTOR 
##                   31775                    2309                    1963 
##       CAÍDA MOTOCICLETA CAÍDA VEHÍCULO 3 RUEDAS       CAÍDA VIAJERO BUS 
##                   11730                      19                    2169 
##  CHOQUE CON OBJETO FIJO          COLISIÓN DOBLE       COLISIÓN MÚLTIPLE 
##                    9741                  114867                   22802 
##            OTRAS CAUSAS                  VUELCO 
##                     845                     858
table(data$`Nº VICTIMAS *`)
## 
##      1      2      3      4      5      6      7      8      9     10     11 
## 145861  33474  10878   4718   2113    808    603    200     96     97     44 
##     12     13     14     15     16     18     19 
##     28     27     33     17     19     20     42
table(data$LESIVIDAD)
## 
##          HG          HL          IL          MT NO ASIGNADA 
##        6886       80869      103251         212        7860
table(data$`Tipo Vehiculo`)
## 
##      AMBULANCIA       AUTO-TAXI AUTOBUS-AUTOCAR       BICICLETA          CAMION 
##             408            6417            5540            4743            1864 
##      CICLOMOTOR       FURGONETA     MOTOCICLETA     NO ASIGNADO         TURISMO 
##            4508            7758           26713           36409          103035 
##          VARIOS    VEH.3 RUEDAS 
##            1640              43
table(data$`TIPO PERSONA`)
## 
## CONDUCTOR    PEATON   TESTIGO   VIAJERO 
##    125534     11692     24725     37127
table(data$SEXO)
## 
##      HOMBRE       MUJER NO ASIGNADO 
##      125962       63840        9276
# Histograma nro de victimas
hist (data$`Nº VICTIMAS *`)

#Formateamos los datos para operaciones que haremos posteriormente
data$`TIPO_ACCIDENTE` <- as.factor(data$`TIPO ACCIDENTE`)
data$`LESIVIDAD_` <- as.factor(data$`LESIVIDAD`)
data$`TIPO_VEHÍCULO` <- as.factor(data$`Tipo Vehiculo`)
data$`TIPO_PERSONA` <- as.factor(data$`TIPO PERSONA`)
data$`RANGO_EDAD` <- as.factor(data$`Tramo Edad`)
data$SEXO_ <- as.factor(data$SEXO)
data$`NUMERO_VICTIMAS` <- as.factor(data$`Nº VICTIMAS *`)
data$YEAR <- factor(year(data$FECHA))
data$`DIA_SEMANA` <- as.factor(data$`DIA SEMANA`)

# Graficos de barras basico
plot(data$`YEAR`)

plot(data$SEXO_)

plot(data$`TIPO_VEHÍCULO`)

plot(data$`TIPO_ACCIDENTE`)

plot(data$`TIPO_PERSONA`)

plot(data$`LESIVIDAD_`)

plot(data$`RANGO_EDAD`)

Analitica descriptiva

Frecuencia de accidentes a lo largo del tiempo

# Convertir la columna de fecha a formato de fecha y agregar una columna de año
data <- data %>%
  mutate(FECHA = as.Date(FECHA, format = "%Y-%m-%d"),
         YEAR =year(data$FECHA))

# Graficar la frecuencia de accidentes a lo largo del tiempo
data %>%
  count(YEAR) %>%
  ggplot(aes(x = YEAR, y = n)) +
  geom_line() +
  labs(title = "Frecuencia de Accidentes a lo Largo del Tiempo", x = "Año", y = "Número de Accidentes")

Accidentes por mes del año

#### Accidentes por dia de la semana

# Graficar accidentes por dia de la semana
data %>%
  count(`DIA SEMANA`) %>%
  ggplot(aes(x = `DIA SEMANA`, y = n)) +
  geom_bar(stat = "identity") +
  labs(title = "Accidentes por Día de la Semana", x = "Día de la Semana", y = "Número de Accidentes")

# Gráfico de barras apiladas
ggplot(data, aes(x ='cpfa granizo' , fill = LESIVIDAD_)) + 
  geom_bar() + 
  labs(title = "Relación entre Granizo y Lesividad", x = "Granizo", y = "Frecuencia")

Tipos de accidentes

# Graficar tipos de accidentes
data %>%
  count(`TIPO ACCIDENTE`) %>%
  ggplot(aes(x = "", y = n, fill = `TIPO ACCIDENTE`)) +
  geom_bar(width = 1, stat = "identity") +
  coord_polar("y") +
  labs(title = "Tipos de Accidentes", x = "", y = "") +
  theme(axis.text.x = element_blank(), axis.ticks = element_blank())

Severidad de los accidentes

# Graficar severidad de los accidentes
data %>%
  count(DISTRITO, LESIVIDAD) %>%
  ggplot(aes(x = DISTRITO, y = n, fill = LESIVIDAD)) +
  geom_bar(stat = "identity", position = "stack") +
  labs(title = "Severidad de los Accidentes por Distrito", x = "Distrito", y = "Número de Accidentes") +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

Tipo de accidentes por distrito

# Graficar severidad de los accidentes
data %>%
  count(DISTRITO, TIPO_ACCIDENTE) %>%
  ggplot(aes(x = DISTRITO, y = n, fill = TIPO_ACCIDENTE)) +
  geom_bar(stat = "identity", position = "stack") +
  labs(title = "Tipo de Accidentes por Distrito", x = "Distrito", y = "Número de Accidentes") +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

Promedio de accidentes por dia

# calculo de nro de accidentes por dia
# Contamos el número de accidentes por día
resumen_accidentes_dia <- table(data$FECHA)

# media del nro de accidentes por dia
promedio_accidentes_dia <- mean(resumen_accidentes_dia)
print(promedio_accidentes_dia)
## [1] 77.85608

Conclusiones

Una vez cargada la tabla y llevado a cabo el tratamiento de datos inicial, se debe proceder con un análisis exploratorio descriptivo (sencillo) respondiendo a las siguientes preguntas:

¿Qué datos interesa explorar en esta fase? .
En esta fase, es fundamental entender la cantidad de registros (filas) y campos (columnas) presentes, así como el tipo de variables (si son categóricas o numéricas). Además, es importante analizar la distribución temporal de los accidentes y explorar cada una de las variables para comprender su comportamiento y características.

¿Qué figuras, tablas, gráficas pueden ayudar a comprender los datos con los que contamos?.
Tablas simples para entender la composición de cada categoría dentro de las variables categóricas.
Histogramas para visualizar la distribución de frecuencias de los datos.
Gráficos de barras para conocer las frecuencias de las variables numéricas y las categorías de las variables categóricas.
Gráficos más complejos con colores para diferenciar las categorías y facilitar la interpretación de los datos.

¿Qué conclusiones se obtienen tras este análisis exploratorio inicial?. En esta fase inicial se puede decir de los datos que:
-el nro de accidentes aumenta con el paso del tiempo.
-los hombres sufren el DOBLE de accidentes que las mujeres.
-la EDAD con MAS accidentes es de 25 a 54 años.
-los CONDUCTORES son los que MAS sufren accidentes (vs testigo, peaton, viajero).
-los accidentes MAS frecuentes son de COLISION DOBLE.
-el tipo de vehiculo que MAS sufre accidente es de TURISMO.
-la mayoria de los accidentes tienen heridos LEVES o ILESOS, son muy pocos los accidentes con heridos graves o muertes.
-los DISTRITOS de Salamanca y Chamartin son los que MAS accidentes reportan.
-los DISTRITOS de Barajas y Vicalvaro son los que MENOS accidentes reportan.
-los VIERNES son los dias que MAS accidentes se reportan. El DOMINGO el que menos.