PRACTICA 5: ACCIDENTES EN BICICLETAS 2018 POR DISTRITO

Objetivo: Determinar la cantidad de accitedente que hubo en el año 2018 por distrito en la ciudad de Madrid

Librerias

library(readr)

Cargar los datos

bicis2018 <- read.csv("https://raw.githubusercontent.com/rpizarrog/Curso-Titulacion-Data-Science-/master/2019/Datos/AccidentesBicicletas_2018.csv",encoding = "UTF-8")
#bicis2018

Determinar el atributo de distritos y sacar cuales son

distritos <-unique(bicis2018$DISTRITO)

distritos
##  [1] ARGANZUELA                     CENTRO                        
##  [3] SALAMANCA                      CIUDAD LINEAL                 
##  [5] LATINA                         SAN BLAS                      
##  [7] VILLA DE VALLECAS              RETIRO                        
##  [9] FUENCARRAL-EL PARDO            USERA                         
## [11] TETUAN                         CHAMBERI                      
## [13] MONCLOA-ARAVACA                HORTALEZA                     
## [15] VILLAVERDE                     CARABANCHEL                   
## [17] CHAMARTIN                      MORATALAZ                     
## [19] VICALVARO                      PUENTE DE VALLECAS            
## [21] BARAJAS                       
## 21 Levels: ARGANZUELA                     ...

Determinar los registros o filas de cada distrito

dist1 <- subset(bicis2018,bicis2018$DISTRITO==distritos[1])
dist2 <- subset(bicis2018,bicis2018$DISTRITO==distritos[2])
dist3 <- subset(bicis2018,bicis2018$DISTRITO==distritos[3])
dist4 <- subset(bicis2018,bicis2018$DISTRITO==distritos[4])
dist5 <- subset(bicis2018,bicis2018$DISTRITO==distritos[5])
dist6 <- subset(bicis2018,bicis2018$DISTRITO==distritos[6])
dist7 <- subset(bicis2018,bicis2018$DISTRITO==distritos[7])
dist8 <- subset(bicis2018,bicis2018$DISTRITO==distritos[8])
dist9 <- subset(bicis2018,bicis2018$DISTRITO==distritos[9])
dist10 <- subset(bicis2018,bicis2018$DISTRITO==distritos[10])
dist11<- subset(bicis2018,bicis2018$DISTRITO==distritos[11])
dist12 <- subset(bicis2018,bicis2018$DISTRITO==distritos[12])
dist13 <- subset(bicis2018,bicis2018$DISTRITO==distritos[13])
dist14 <- subset(bicis2018,bicis2018$DISTRITO==distritos[14])
dist15 <- subset(bicis2018,bicis2018$DISTRITO==distritos[15])
dist16 <- subset(bicis2018,bicis2018$DISTRITO==distritos[16])
dist17 <- subset(bicis2018,bicis2018$DISTRITO==distritos[17])
dist18 <- subset(bicis2018,bicis2018$DISTRITO==distritos[18])
dist19 <- subset(bicis2018,bicis2018$DISTRITO==distritos[19])
dist20 <- subset(bicis2018,bicis2018$DISTRITO==distritos[20])
dist21 <- subset(bicis2018,bicis2018$DISTRITO==distritos[21])

Determinar cuantos registros por cada distrtito

dist1Accidentes <- length(dist1$DISTRITO)
dist2Accidentes <- length(dist2$DISTRITO)
dist3Accidentes <- length(dist3$DISTRITO)
dist4Accidentes <- length(dist4$DISTRITO)
dist5Accidentes <- length(dist5$DISTRITO)
dist6Accidentes <- length(dist6$DISTRITO)
dist7Accidentes <- length(dist7$DISTRITO)
dist8Accidentes <- length(dist8$DISTRITO)
dist9Accidentes <- length(dist9$DISTRITO)
dist10Accidentes <- length(dist10$DISTRITO)
dist11Accidentes <- length(dist11$DISTRITO)
dist12Accidentes <- length(dist12$DISTRITO)
dist13Accidentes <- length(dist13$DISTRITO)
dist14Accidentes <- length(dist14$DISTRITO)
dist15Accidentes <- length(dist15$DISTRITO)
dist16Accidentes <- length(dist16$DISTRITO)
dist17Accidentes <- length(dist17$DISTRITO)
dist18Accidentes <- length(dist18$DISTRITO)
dist19Accidentes <- length(dist19$DISTRITO)
dist20Accidentes <- length(dist20$DISTRITO)
dist21Accidentes <- length(dist21$DISTRITO)

Mostrar los distritos

dist1Accidentes
## [1] 33
dist2Accidentes
## [1] 124
dist3Accidentes
## [1] 48
dist4Accidentes
## [1] 26
dist5Accidentes
## [1] 35
dist6Accidentes
## [1] 24
dist7Accidentes
## [1] 15
dist8Accidentes
## [1] 52
dist9Accidentes
## [1] 33
dist10Accidentes
## [1] 18
dist11Accidentes
## [1] 34
dist12Accidentes
## [1] 51
dist13Accidentes
## [1] 51
dist14Accidentes
## [1] 22
dist15Accidentes
## [1] 12
dist16Accidentes
## [1] 36
dist17Accidentes
## [1] 26
dist18Accidentes
## [1] 13
dist19Accidentes
## [1] 10
dist20Accidentes
## [1] 29
dist21Accidentes
## [1] 8

Ahora a construr un solo data frame resumen con disrito y cantidad

accidentes <- c(dist1Accidentes,dist2Accidentes,dist3Accidentes,dist4Accidentes,dist5Accidentes,
dist6Accidentes,dist7Accidentes,dist8Accidentes,dist9Accidentes,dist10Accidentes,dist11Accidentes,
dist12Accidentes,dist13Accidentes,dist14Accidentes,dist15Accidentes,dist16Accidentes,dist17Accidentes,
dist18Accidentes,dist19Accidentes,dist20Accidentes,dist21Accidentes)
resumen <- data.frame(distritos, accidentes)

resumen
##                         distritos accidentes
## 1  ARGANZUELA                             33
## 2  CENTRO                                124
## 3  SALAMANCA                              48
## 4  CIUDAD LINEAL                          26
## 5  LATINA                                 35
## 6  SAN BLAS                               24
## 7  VILLA DE VALLECAS                      15
## 8  RETIRO                                 52
## 9  FUENCARRAL-EL PARDO                    33
## 10 USERA                                  18
## 11 TETUAN                                 34
## 12 CHAMBERI                               51
## 13 MONCLOA-ARAVACA                        51
## 14 HORTALEZA                              22
## 15 VILLAVERDE                             12
## 16 CARABANCHEL                            36
## 17 CHAMARTIN                              26
## 18 MORATALAZ                              13
## 19 VICALVARO                              10
## 20 PUENTE DE VALLECAS                     29
## 21 BARAJAS                                 8

Asignar cuartiles

# Cuartile al 25% 
q1 <- quantile(resumen$accidentes, 0.25)

# Cuartile al 75% 
q3 <- quantile(resumen$accidentes, 0.75) 

q1
## 25% 
##  18
q3
## 75% 
##  36

Maximos y minimos

minimos <- subset(resumen, accidentes <= q1)
maximos <- subset(resumen, accidentes >= q3)

minimos
##                         distritos accidentes
## 7  VILLA DE VALLECAS                      15
## 10 USERA                                  18
## 15 VILLAVERDE                             12
## 18 MORATALAZ                              13
## 19 VICALVARO                              10
## 21 BARAJAS                                 8
maximos
##                         distritos accidentes
## 2  CENTRO                                124
## 3  SALAMANCA                              48
## 8  RETIRO                                 52
## 12 CHAMBERI                               51
## 13 MONCLOA-ARAVACA                        51
## 16 CARABANCHEL                            36

Analisis de resultados

De acuerdo al analisis generado del archivo bicis2018 el cual se obtuvo desde una dirección URL y se llego a la conclusion que el en año 2018 en la cual nos muestra que en los distritos que se encuentran por debajo del cuartile 25% Barajas solo registro 8 accidentes y el distrito con mayoy numero de accidentes que se encuentra por encima del cuartile 75% es distrito centro con 124 accidentes.