P1

Cargue los siguientes paquetes: data.table,rgdal,ggplot2,treemap,leaflet,sp,tidyverse y RColorBrewer. (1 punto)
library(data.table)
library(rgdal)
library(ggplot2)
library(treemap)
library(leaflet)
library(sp)
library(tidyverse)
library(RColorBrewer)

P2

Cargue la base de datos de las motos (.shp), obtenga la base de datos y transformarla en un data.table

Motomap<-readOGR(dsn = "Motos/MotosGS2016_2.shp")
## OGR data source with driver: ESRI Shapefile 
## Source: "/Users/sweetlord/Desktop/Data Science/Tareas/control 2/Motos/MotosGS2016_2.shp", layer: "MotosGS2016_2"
## with 2685 features
## It has 29 fields
dataMoto<-data.table(Motomap@data)

P3

La variable ESTADO_CAL describe el estado de la calzada por la cual circulaba el/la motociclista. De esta forma, las categorías que debe considerar esta variable son 3: BUENO, REGULAR y MALO. Por lo tanto, lo que debe hacer, es considerar todas aquellas observaciones que tengan alguna de esas 3 categorías en la variable ESTADO_CAL.

dataMotoFiltrada<-dataMoto[ESTADO_CAL%in%c("BUENO","REGULAR","MALO")]

P4

¿Cuántos accidentes hay por comuna?

dataMotoFiltrada[,.(Accidentesxcomuna=sum(Accidentes)),by=COMUNA1]
##              COMUNA1 Accidentesxcomuna
##  1:            LAMPA                18
##  2:         SANTIAGO               341
##  3:            NUNOA               145
##  4:        EL BOSQUE               100
##  5:      PUENTE ALTO               199
##  6:       HUECHURABA                39
##  7:         PUDAHUEL                72
##  8:         VITACURA                66
##  9:       LA PINTANA                28
## 10:      PROVIDENCIA               214
## 11:       LAS CONDES               229
## 12:    QUINTA NORMAL                93
## 13:        PENALOLEN               104
## 14:           COLINA                33
## 15:         RECOLETA                51
## 16:        QUILICURA                67
## 17:           PIRQUE                 3
## 18:            RENCA                37
## 19:            MACUL                82
## 20:       LA FLORIDA               100
## 21: P. AGUIRRE CERDA                33
## 22:    INDEPENDENCIA                50
## 23:        LA GRANJA                56
## 24:            MAIPU               162
## 25:     LO BARNECHEA                31
## 26:         CONCHALI                53
## 27:        CERRILLOS                54
## 28:       SAN MIGUEL                59
## 29: ESTACION CENTRAL                65
## 30:      CERRO NAVIA                38
## 31:      LA CISTERNA                62
## 32:         LA REINA                54
## 33:      SAN JOAQUIN                64
## 34:        SAN RAMON                38
## 35:     SAN BERNARDO                 6
## 36:        LO ESPEJO                17
## 37:         LO PRADO                24
##              COMUNA1 Accidentesxcomuna

P5

¿Cuántos accidentes con personas fallecidas hay por comuna?

dataMotoFiltrada$FALLECIDOS=as.numeric(as.character(dataMotoFiltrada$FALLECIDOS))

dataMotoFiltrada[,.(Fallecidosxcomuna=sum(FALLECIDOS)),by=COMUNA1]
##              COMUNA1 Fallecidosxcomuna
##  1:            LAMPA                 0
##  2:         SANTIAGO                 6
##  3:            NUNOA                 4
##  4:        EL BOSQUE                 1
##  5:      PUENTE ALTO                 1
##  6:       HUECHURABA                 0
##  7:         PUDAHUEL                 3
##  8:         VITACURA                 0
##  9:       LA PINTANA                 0
## 10:      PROVIDENCIA                 2
## 11:       LAS CONDES                 3
## 12:    QUINTA NORMAL                 2
## 13:        PENALOLEN                 0
## 14:           COLINA                 1
## 15:         RECOLETA                 1
## 16:        QUILICURA                 0
## 17:           PIRQUE                 0
## 18:            RENCA                 0
## 19:            MACUL                 2
## 20:       LA FLORIDA                 1
## 21: P. AGUIRRE CERDA                 0
## 22:    INDEPENDENCIA                 0
## 23:        LA GRANJA                 1
## 24:            MAIPU                 8
## 25:     LO BARNECHEA                 0
## 26:         CONCHALI                 0
## 27:        CERRILLOS                 1
## 28:       SAN MIGUEL                 0
## 29: ESTACION CENTRAL                 2
## 30:      CERRO NAVIA                 0
## 31:      LA CISTERNA                 0
## 32:         LA REINA                 0
## 33:      SAN JOAQUIN                 2
## 34:        SAN RAMON                 1
## 35:     SAN BERNARDO                 0
## 36:        LO ESPEJO                 0
## 37:         LO PRADO                 1
##              COMUNA1 Fallecidosxcomuna

P6

¿Cuántos accidentes con personas graves hay por comuna?

dataMotoFiltrada$GRAVES=as.numeric(as.character(dataMotoFiltrada$GRAVES))

dataMotoFiltrada[,.(Gravesxcomuna=sum(GRAVES)),by=COMUNA1]
##              COMUNA1 Gravesxcomuna
##  1:            LAMPA             4
##  2:         SANTIAGO            84
##  3:            NUNOA            49
##  4:        EL BOSQUE            15
##  5:      PUENTE ALTO            30
##  6:       HUECHURABA             7
##  7:         PUDAHUEL            24
##  8:         VITACURA            23
##  9:       LA PINTANA             1
## 10:      PROVIDENCIA            55
## 11:       LAS CONDES            57
## 12:    QUINTA NORMAL            25
## 13:        PENALOLEN            21
## 14:           COLINA             6
## 15:         RECOLETA             5
## 16:        QUILICURA             8
## 17:           PIRQUE             1
## 18:            RENCA            12
## 19:            MACUL            22
## 20:       LA FLORIDA            13
## 21: P. AGUIRRE CERDA             2
## 22:    INDEPENDENCIA            10
## 23:        LA GRANJA            11
## 24:            MAIPU            35
## 25:     LO BARNECHEA             2
## 26:         CONCHALI            13
## 27:        CERRILLOS            18
## 28:       SAN MIGUEL            14
## 29: ESTACION CENTRAL            17
## 30:      CERRO NAVIA            10
## 31:      LA CISTERNA            11
## 32:         LA REINA            18
## 33:      SAN JOAQUIN            19
## 34:        SAN RAMON            11
## 35:     SAN BERNARDO             1
## 36:        LO ESPEJO             2
## 37:         LO PRADO             4
##              COMUNA1 Gravesxcomuna

P7

####¿Cómo podría mostrar el resultado de la pregunta 6 en un gráfico?. Muestre un gráfico legible.

ggplot(data =dataMotoFiltrada ,aes(x=COMUNA1, y=GRAVES))+geom_bar(stat ='identity')+ theme(axis.text.x =element_text(angle=85, vjust=0.5))+labs(x="Comuna",y="Cantidad", title = "Accidentes con personas graves por comuna")

P8

¿Cuál es la principal causa (CAUSA__CON) de accidentes?

dataMotoFiltrada[,.(AccidentesxCausa=sum(Accidentes)),by=CAUSA__CON]
##                         CAUSA__CON AccidentesxCausa
##  1:                   OTRAS CAUSAS              368
##  2:      IMPRUDENCIA DEL CONDUCTOR             1280
##  3:         CAUSAS NO DETERMINADAS              555
##  4:         IMPRUDENCIA DEL PEATON               67
##  5:       PERDIDA CONTROL VEHICULO              163
##  6:            DEFICIENCIAS VIALES               16
##  7:   DESOBEDIENCIA A SENALIZACION              339
##  8: DROGAS Y/O FATIGA EN CONDUCTOR                4
##  9:               FALLAS MECANICAS               11
## 10:           VELOCIDAD IMPRUDENTE               11
## 11:           ALCOHOL EN CONDUCTOR               68
## 12:              ALCOHOL EN PEATON                4
## 13:       IMPRUDENCIA DEL PASAJERO                1

P9

¿Cómo podríamos mostrar,gráficamente, las diferentes causas para las dos comunas con más accidentes? Muestre un gráfico legible.

newdata<-dataMotoFiltrada[COMUNA1%in% c("LAS CONDES","SANTIAGO")]

ggplot(data =newdata ,aes(x=CAUSA__CON, y= Accidentes, ))+geom_bar(stat ='identity')+ theme(axis.text.x =element_text(angle=85, vjust=0.5))+labs(x="Causas del accidente",y="Cantidad", title = "Diferentes causas de accidentes en las comunas de Las condes y Santiago")

P10

Muestre gráficamente la cantidad de accidentes que hay para las distintas causas de accidentes

ggplot(data =dataMotoFiltrada ,aes(x=Accidentes, y=CAUSA__CON))+geom_bar(stat ='identity')+ theme(axis.text.x =element_text(angle=85, vjust=0.5))+labs(x="Cantidad de accidentes",y="Causas de accidentes", title = "Cantidad de accidentes por causa")

P11

Muestre en un mapa el número de accidentes en motos que hay para cada comuna. Este mapa debe tener colores más intensos para aquellas comunas con más accidentes en moto. Para esto:

a) Cargue el mapa de las comunas de Santiago y verifique que la proyección sea la misma que para el objeto de las motos. (3 puntos)

ComunasR13Map<-readOGR(dsn = "ComunasR13/COMUNA_C17.shp")
## Warning in OGRSpatialRef(dsn, layer, morphFromESRI =
## morphFromESRI, dumpSRS = dumpSRS, : Discarded datum
## Sistema_de_Referencia_Geocentrico_para_las_AmericaS_2000 in CRS definition:
## +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs
## OGR data source with driver: ESRI Shapefile 
## Source: "/Users/sweetlord/Desktop/Data Science/Tareas/control 2/ComunasR13/COMUNA_C17.shp", layer: "COMUNA_C17"
## with 52 features
## It has 8 fields
ComunasR13Map@proj4string #proyección
## CRS arguments:
##  +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs
ComunasR13Map<-spTransform(ComunasR13Map,CRSobj = proj4string(Motomap))
## Warning in proj4string(Motomap): CRS object has comment, which is lost in output
ComunasR13Map@proj4string
## CRS arguments: +proj=longlat +datum=WGS84 +no_defs

b) Cree un nuevo objeto que contenga aquellas comunas de Santiago que posean accidentes de motos.

Comuna_moto<-dataMotoFiltrada[,.(Accidentesxcomuna=sum(Accidentes)),by=COMUNA1]

c) El nuevo objeto que creó no contiene el número de accidentes por comuna, por lo tanto debe agregar esta información. (5 puntos)

Comuna_moto<-dataMotoFiltrada[,.(Accidentesxcomuna=sum(Accidentes)),by=COMUNA1]

d) Cree la paleta de colores

pColor<-colorQuantile(palette = brewer.pal(4,name = "Reds"),domain =range(ComunasR13MapMot@data$comuna_moto,na.rm = T),n = 5)
head(ComunasR13Map@data)
##   REGION                       NOM_REGION PROVINCIA NOM_PROVIN COMUNA
## 0     13 REGIÓN METROPOLITANA DE SANTIAGO       134      MAIPO  13404
## 1     13 REGIÓN METROPOLITANA DE SANTIAGO       134      MAIPO  13402
## 2     13 REGIÓN METROPOLITANA DE SANTIAGO       131   SANTIAGO  13124
## 3     13 REGIÓN METROPOLITANA DE SANTIAGO       131   SANTIAGO  13103
## 4     13 REGIÓN METROPOLITANA DE SANTIAGO       133  CHACABUCO  13301
## 5     13 REGIÓN METROPOLITANA DE SANTIAGO       133  CHACABUCO  13303
##    NOM_COMUNA SHAPE_Leng  SHAPE_Area
## 0       PAINE  1.6253302 0.066034887
## 1        BUIN  0.8841641 0.021166233
## 2    PUDAHUEL  0.7201757 0.019124278
## 3 CERRO NAVIA  0.1701803 0.001075965
## 4      COLINA  1.6920071 0.093820189
## 5      TILTIL  1.3301477 0.063169398
head(Motomap@data)
##   IdAcciden Accidentes  ANO    FECHA  HORA COD_COMUNA     COMUNA1 COD_REGION
## 1    871856          2 2016 1/4/2016  7:15      13302       LAMPA         13
## 2    875006          1 2016 1/4/2016 20:30      13101    SANTIAGO         13
## 3    869254          1 2016 1/5/2016 11:00      13120       NUNOA         13
## 4    871946          1 2016 1/5/2016 23:55      13105   EL BOSQUE         13
## 5    871347          1 2016 1/6/2016 21:00      13201 PUENTE ALTO         13
## 6    874892          2 2016 1/8/2016  8:50      13107  HUECHURABA         13
##                REGION1             TIPO_ACCID TIPO__CONA   ZONA
## 1 REGION METROPOLITANA       COLISION FRONTAL   COLISION  RURAL
## 2 REGION METROPOLITANA       COLISION LATERAL   COLISION URBANA
## 3 REGION METROPOLITANA              ATROPELLO  ATROPELLO URBANA
## 4 REGION METROPOLITANA       COLISION FRONTAL   COLISION URBANA
## 5 REGION METROPOLITANA COLISION PERPENDICULAR   COLISION URBANA
## 6 REGION METROPOLITANA         CHOQUE LATERAL     CHOQUE URBANA
##                       UBICACION_                CAUSA__CON
## 1  TRAMO DE VIA CURVA HORIZONTAL              OTRAS CAUSAS
## 2          OTROS NO CONSIDERADOS IMPRUDENCIA DEL CONDUCTOR
## 3 CRUCE CON SEMAFORO FUNCIONANDO IMPRUDENCIA DEL CONDUCTOR
## 4             TRAMO DE VIA RECTA IMPRUDENCIA DEL CONDUCTOR
## 5          OTROS NO CONSIDERADOS IMPRUDENCIA DEL CONDUCTOR
## 6             TRAMO DE VIA RECTA IMPRUDENCIA DEL CONDUCTOR
##                                              CAUSA1                   CALLE_UNO
## 1                                      OTRAS CAUSAS                  IRENE FREI
## 2                                 VIRAJES INDEBIDOS                    PORTUGAL
## 3   NO RESPETAR DERECHO PREFERENTE DE PASO A PEATON             VICUNA MACKENNA
## 4                                 VIRAJES INDEBIDOS    JOSE JOAQUIN PRIETO VIAL
## 5 NO RESPETAR DERECHO PREFERENTE DE PASO A VEHICULO           GABRIELA PONIENTE
## 6 CONDUCCION NO ATENTO CONDICIONES TRANSITO MOMENTO REPUBLICA DE ESTADOS UNIDOS
##   CALLE_DOS NUMERO                 INTERSECCI                      DIRECCIO_1
## 1      <NA>  21500               - IRENE FREI                21500 IRENE FREI
## 2      <NA>    551                 - PORTUGAL                    551 PORTUGAL
## 3      <NA>   1326          - VICUNA MACKENNA            1326 VICUNA MACKENNA
## 4      <NA>  10012 - JOSE JOAQUIN PRIETO VIAL  10012 JOSE JOAQUIN PRIETO VIAL
## 5      <NA>   3881        - GABRIELA PONIENTE          3881 GABRIELA PONIENTE
## 6      <NA>    515    - REP DE ESTADOS UNIDOS 515 REPUBLICA DE ESTADOS UNIDOS
##                      CALZADA TIPO_CALZA ESTADO_CAL CONDICION_ ESTADO_ATM
## 1              BIDIRECCIONAL    ASFALTO      BUENO       SECO  DESPEJADO
## 2             UNIDIRECCIONAL   CONCRETO      BUENO       SECO  DESPEJADO
## 3              BIDIRECCIONAL    ASFALTO      BUENO       SECO  DESPEJADO
## 4              BIDIRECCIONAL   CONCRETO      BUENO       SECO  DESPEJADO
## 5 BIDIRECCIONAL CON BANDEJON    ASFALTO      BUENO       SECO  DESPEJADO
## 6              BIDIRECCIONAL    ASFALTO      BUENO       SECO  DESPEJADO
##   FALLECIDOS GRAVES MENOS_GRAV LEVES
## 1          0      1          1     0
## 2          0      0          0     1
## 3          0      1          0     0
## 4          0      0          1     0
## 5          0      0          0     1
## 6          0      0          2     0
table(ComunasR13Map@data$COMUNA%in%Motomap@data$COD_COMUNA)
## 
## FALSE  TRUE 
##    15    37
ComunasR13MapMot<-ComunasR13Map[ComunasR13Map@data$COMUNA%in%Motomap@data$COD_COMUNA,]