PRACTICA 4 ACCIDENTES POR MES - BICICLETAS

OBJETIVO: CUANTOS ACCIDENTES HAY AL MES

library(readr) #la libreria

## CARGAR LOS DATOS QUE ESTAN EN INTERNET

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

class(bicis2017) #Devuelve el tipo de dato, queremos un data.frame
## [1] "data.frame"
names(bicis2017) # la fecha esta extraña
##  [1] "X.U.FEFF.FECHA"     "RANGO.HORARIO"      "DIA.SEMANA"        
##  [4] "DISTRITO"           "LUGAR.ACCIDENTE"    "Nº"                
##  [7] "Nº.PARTE"           "CPFA.Granizo"       "CPFA.Hielo"        
## [10] "CPFA.Lluvia"        "CPFA.Niebla"        "CPFA.Seco"         
## [13] "CPFA.Nieve"         "CPSV.Mojada"        "CPSV.Aceite"       
## [16] "CPSV.Barro"         "CPSV.Grava.Suelta"  "CPSV.Hielo"        
## [19] "CPSV.Seca.Y.Limpia" "Nº.VICTIMAS.."      "TIPO.ACCIDENTE"    
## [22] "Tipo.Vehiculo"      "TIPO.PERSONA"       "SEXO"              
## [25] "LESIVIDAD"          "Tramo.Edad"
# Cambiamos el nombre de es atributo de bicis2017 y al 6, 7 y 20
columnas <- colnames(bicis2017)
columnas[1] <- "FECHA" # Cambia el nombre de columna
columnas[6] <- "NO" # Cambia el nombre de columna
columnas[7] <- "NO.PARTE" # Cambia el nombre de columna
columnas[20] <- "NO.VICTIMAS" # Cambia el nombre de columna
colnames(bicis2017) <- columnas
names(bicis2017) # Ahora como se ven los nombres de columnas
##  [1] "FECHA"              "RANGO.HORARIO"      "DIA.SEMANA"        
##  [4] "DISTRITO"           "LUGAR.ACCIDENTE"    "NO"                
##  [7] "NO.PARTE"           "CPFA.Granizo"       "CPFA.Hielo"        
## [10] "CPFA.Lluvia"        "CPFA.Niebla"        "CPFA.Seco"         
## [13] "CPFA.Nieve"         "CPSV.Mojada"        "CPSV.Aceite"       
## [16] "CPSV.Barro"         "CPSV.Grava.Suelta"  "CPSV.Hielo"        
## [19] "CPSV.Seca.Y.Limpia" "NO.VICTIMAS"        "TIPO.ACCIDENTE"    
## [22] "Tipo.Vehiculo"      "TIPO.PERSONA"       "SEXO"              
## [25] "LESIVIDAD"          "Tramo.Edad"

Cambiando el formato de la columna FECHA como date y….

Agregando una nueva columna llamada MES de tipo numeric

que define el numero de mes de la fecha

# Limpiar y depurar el campo FECHA
bicis2017$FECHA <- as.Date(bicis2017$FECHA, "%d/%m/%Y")
bicis2017$MES <- as.numeric(format(bicis2017$FECHA,format="%m"))

se muestran los datos

#bicis2017

vamos a encontrar los accidentes por mes

enero <- subset(bicis2017, MES == 1)  # LOS DE ENERO
febrero <- subset(bicis2017, MES == 2)  # LOS DE FEBRERO
marzo <- subset(bicis2017, MES == 3)  # LOS DE MARZO
abril <- subset(bicis2017, MES == 4)  # LOS DE ABRIL
mayo <- subset(bicis2017, MES == 5)  # LOS DE MAYO
junio <- subset(bicis2017, MES == 6)  # LOS DE JUNIO
julio <- subset(bicis2017, MES == 7)  # LOS DE JULIO
agosto <- subset(bicis2017, MES == 8)  # LOS DE AGOSTO
septiembre <- subset(bicis2017, MES == 9)  # LOS DE SEPTIEMBRE
octubre <- subset(bicis2017, MES == 10)  # LOS DE OCTUBRE
noviembre <- subset(bicis2017, MES == 11)  # LOS DE NOVIEMBRE
diciembre <- subset(bicis2017, MES == 12)  # LOS DE DICIEMBRE

MOSTRAMOS ALGUNOS MESES

enero$FECHA
##  [1] "2017-01-01" "2017-01-02" "2017-01-03" "2017-01-04" "2017-01-05"
##  [6] "2017-01-05" "2017-01-05" "2017-01-05" "2017-01-06" "2017-01-06"
## [11] "2017-01-07" "2017-01-07" "2017-01-07" "2017-01-08" "2017-01-08"
## [16] "2017-01-09" "2017-01-09" "2017-01-09" "2017-01-10" "2017-01-10"
## [21] "2017-01-10" "2017-01-12" "2017-01-12" "2017-01-12" "2017-01-12"
## [26] "2017-01-13" "2017-01-13" "2017-01-15" "2017-01-19" "2017-01-19"
## [31] "2017-01-20" "2017-01-20" "2017-01-21" "2017-01-21" "2017-01-22"
## [36] "2017-01-24" "2017-01-24" "2017-01-25" "2017-01-25" "2017-01-26"
## [41] "2017-01-26" "2017-01-27" "2017-01-29" "2017-01-31" "2017-01-31"
febrero$FECHA
##  [1] "2017-02-01" "2017-02-02" "2017-02-02" "2017-02-02" "2017-02-03"
##  [6] "2017-02-03" "2017-02-03" "2017-02-04" "2017-02-04" "2017-02-05"
## [11] "2017-02-06" "2017-02-07" "2017-02-07" "2017-02-07" "2017-02-08"
## [16] "2017-02-09" "2017-02-10" "2017-02-10" "2017-02-10" "2017-02-12"
## [21] "2017-02-13" "2017-02-14" "2017-02-14" "2017-02-14" "2017-02-14"
## [26] "2017-02-15" "2017-02-15" "2017-02-16" "2017-02-16" "2017-02-17"
## [31] "2017-02-18" "2017-02-18" "2017-02-19" "2017-02-19" "2017-02-19"
## [36] "2017-02-20" "2017-02-22" "2017-02-24" "2017-02-25" "2017-02-25"
## [41] "2017-02-25" "2017-02-25" "2017-02-27" "2017-02-28" "2017-02-28"
## [46] "2017-02-28" "2017-02-28" "2017-02-28" "2017-02-28"
marzo$FECHA
##  [1] "2017-03-01" "2017-03-02" "2017-03-03" "2017-03-03" "2017-03-03"
##  [6] "2017-03-05" "2017-03-06" "2017-03-07" "2017-03-07" "2017-03-07"
## [11] "2017-03-07" "2017-03-08" "2017-03-08" "2017-03-08" "2017-03-09"
## [16] "2017-03-09" "2017-03-09" "2017-03-09" "2017-03-10" "2017-03-10"
## [21] "2017-03-10" "2017-03-10" "2017-03-10" "2017-03-10" "2017-03-10"
## [26] "2017-03-12" "2017-03-13" "2017-03-14" "2017-03-14" "2017-03-15"
## [31] "2017-03-15" "2017-03-16" "2017-03-16" "2017-03-17" "2017-03-17"
## [36] "2017-03-17" "2017-03-18" "2017-03-19" "2017-03-19" "2017-03-20"
## [41] "2017-03-20" "2017-03-20" "2017-03-21" "2017-03-21" "2017-03-21"
## [46] "2017-03-21" "2017-03-21" "2017-03-22" "2017-03-23" "2017-03-23"
## [51] "2017-03-24" "2017-03-25" "2017-03-26" "2017-03-27" "2017-03-28"
## [56] "2017-03-29" "2017-03-30" "2017-03-31" "2017-03-31" "2017-03-31"

LO QUE QUEREMOS CUANTOS ACCIDENTES DE CADA MES

ulizamos la funcion length()

length(enero$FECHA)
## [1] 45
length(febrero$FECHA)
## [1] 49
length(marzo$FECHA)
## [1] 60
length(abril$FECHA)
## [1] 54
length(mayo$FECHA)
## [1] 82
length(junio$FECHA)
## [1] 82
length(julio$FECHA)
## [1] 70
length(agosto$FECHA)
## [1] 47
length(septiembre$FECHA)
## [1] 85
length(octubre$FECHA)
## [1] 88
length(noviembre$FECHA)
## [1] 59
length(diciembre$FECHA)
## [1] 35

COSTRUYENDO UN DATA.FRAME MAS ELEGANTE

mesesNombres <- c("Enero", "Febrero", "Marzo", "Abril",
                 "Mayo", "Junio", "Julio", "Agosto",
                 "Septiembre", "Octubre", "Noviembre", "Diciembre")
resumen <- data.frame(mesesNombres, c(length(enero$FECHA),
                  length(febrero$FECHA), 
                  length(marzo$FECHA),
                  length(abril$FECHA), 
                  length(mayo$FECHA),
                  length(junio$FECHA),
                  length(julio$FECHA),
                  length(agosto$FECHA),
                  length(septiembre$FECHA),
                  length(octubre$FECHA),
                  length(noviembre$FECHA),
                  length(diciembre$FECHA)))

resumen
##    mesesNombres
## 1         Enero
## 2       Febrero
## 3         Marzo
## 4         Abril
## 5          Mayo
## 6         Junio
## 7         Julio
## 8        Agosto
## 9    Septiembre
## 10      Octubre
## 11    Noviembre
## 12    Diciembre
##    c.length.enero.FECHA...length.febrero.FECHA...length.marzo.FECHA...
## 1                                                                   45
## 2                                                                   49
## 3                                                                   60
## 4                                                                   54
## 5                                                                   82
## 6                                                                   82
## 7                                                                   70
## 8                                                                   47
## 9                                                                   85
## 10                                                                  88
## 11                                                                  59
## 12                                                                  35

Poniendo nombres de columnas a resumen y mostrar

colnames(resumen) <- c("Mes", "No.Accidentes")
resumen
##           Mes No.Accidentes
## 1       Enero            45
## 2     Febrero            49
## 3       Marzo            60
## 4       Abril            54
## 5        Mayo            82
## 6       Junio            82
## 7       Julio            70
## 8      Agosto            47
## 9  Septiembre            85
## 10    Octubre            88
## 11  Noviembre            59
## 12  Diciembre            35

VAMOS A VISUALIZAR GRAFICAMENTE LOS DATOS

UTILIZAMOS PLOT

plot(resumen, type = "b")

barplot(resumen$No.Accidentes, 
        main = "Accidentes por mes", 
        xlab = "Meses", 
        ylab = "Accidentes", 
        legend.text = mesesNombres, 
        col = c(1:12), 
        names.arg = mesesNombres,

)

INTERPRETACION: LA PRACTICA TRATA DE VER EN QUE MES SUCEDEN MAS ACCIDENTES

EN BICICLETA EN LA CIUDAD DE MADRID, ESPAÑA.

SE IMPORTA INFORMACION DEL INTERNET SOBRE LOS ACCIDENTES EN MADRID, SE IMPORTA PARA PODER MANIPULAR, ANALIZAR Y DETERMINAR EN QUE MES HAY MAS ACCIDENTES DURANTE EL AÑO DE 2997.