Objetivo: Esta práctica determina en que Distrito de Madrid suceden mayor y menor numero de accidentes de bicicletas de un conjunto de datos del año 2018.
librerias necesarias
library(readr) # La libreria
Cargar los datos que están en INTERNET
bicis2018 <- read.csv("https://raw.githubusercontent.com/rpizarrog/Curso-Titulacion-Data-Science-/master/2019/Datos/AccidentesBicicletas_2018.csv",encoding = "UTF-8")
#bicis2018
Determinar el aributo de distrito y sacar cuales son
# bicis2018$DISTRITO
distritos <- unique(bicis2018$DISTRITO)
distritos # Son los distritos que hay en Madrid
## [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])
Verificamos registros de alg[un distrito
dist1$FECHA # Solo la fecha
## [1] 01/01/2018 09/01/2018 24/01/2018 24/01/2018 12/03/2018 28/03/2018
## [7] 28/03/2018 29/03/2018 21/04/2018 14/05/2018 21/05/2018 12/06/2018
## [13] 18/06/2018 21/06/2018 25/06/2018 26/06/2018 05/07/2018 05/07/2018
## [19] 10/07/2018 22/07/2018 03/08/2018 05/08/2018 11/08/2018 26/08/2018
## [25] 30/08/2018 05/09/2018 10/09/2018 25/09/2018 13/10/2018 16/10/2018
## [31] 27/10/2018 08/11/2018 29/11/2018
## 298 Levels: 01/01/2018 01/02/2018 01/04/2018 01/05/2018 ... 31/10/2018
dist5$DISTRITO # Solo el DISTRITO
## [1] LATINA LATINA
## [3] LATINA LATINA
## [5] LATINA LATINA
## [7] LATINA LATINA
## [9] LATINA LATINA
## [11] LATINA LATINA
## [13] LATINA LATINA
## [15] LATINA LATINA
## [17] LATINA LATINA
## [19] LATINA LATINA
## [21] LATINA LATINA
## [23] LATINA LATINA
## [25] LATINA LATINA
## [27] LATINA LATINA
## [29] LATINA LATINA
## [31] LATINA LATINA
## [33] LATINA LATINA
## [35] LATINA
## 21 Levels: ARGANZUELA ...
Determinar cuantos registros por cada distrito
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)
Crer un data frame con el resumen de los datos por cada distrito
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 construir 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
# Cuartile 1
q1 <- quantile(resumen$accidentes, 0.25) # al 25%
# Cuartile 3 al 75%
q3 <- quantile(resumen$accidentes, 0.75) # al 75%
q1
## 25%
## 18
q3
## 75%
## 36
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
Interpretacion del Análisis
Analizando el conjunto de datos de los accidentes 2018 sucitados en varios distritos de España, se puede determinar que el distrito que menor incidencia de accidentes tuvo es Barajas con 8 accidentes, y el mayor numero de accidentes fue el Centro con 124 accidentes.