Objetivo: Determinar la cantidad de accidentes que hubo en el año 2018 por distrito en la ciudad de Madrid
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 aributo de distrito y saccar 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)
colnames(maximos) <- c("Distrito", "Accidentes")
colnames(minimos) <- c("Distrito", "Accidentes")
minimos
## Distrito Accidentes
## 7 VILLA DE VALLECAS 15
## 10 USERA 18
## 15 VILLAVERDE 12
## 18 MORATALAZ 13
## 19 VICALVARO 10
## 21 BARAJAS 8
maximos
## Distrito Accidentes
## 2 CENTRO 124
## 3 SALAMANCA 48
## 8 RETIRO 52
## 12 CHAMBERI 51
## 13 MONCLOA-ARAVACA 51
## 16 CARABANCHEL 36
Visualizar minimos y maximos