Muestre el número total de accidentes según su tipo (ayuda: utilice TIPO_ACCID).
bici_barra <- bici[,.(total=.N),by=.(TIPO_ACCID)]
# cantidad = grafo de barra (geom_bar)
ggplot(bici_barra,aes(x=TIPO_ACCID,y=total)) +
geom_bar(stat='identity')
Si bien el gráfico anterior muestra la información pedida, no se encuentra bien desplegada (dificil de leer). En consecuencia, es necesario perfeccionarlo:
Ordene los tipos de accidentes según cantidad.
Agregue titulo y pie de página.
Modifique los nombres de los ejes.
Invierta los ejes.
ggplot(bici_barra,aes(x=reorder(TIPO_ACCID,total),y=total)) +
geom_bar(stat='identity') +
labs(title = 'Cantidad de accidentes de bicicletas', subtitle = 'Según tipo de accidente',
caption = 'Datos año 2016 - IDE Chile',
x = 'Tipo de accidente',y = 'N° de accidentes') +
coord_flip() +
theme_gray()
Muestre, mediante un histográma y gráfico de densidad, la distribución de accidentes según la hora de ocurrencia (ayuda: HORA puede transformarse de caracter a tiempo mediante función as.ITime).
ggplot(bici,aes(x=HORA)) +
geom_histogram() +
scale_x_time()
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
ggplot(bici,aes(x=HORA)) +
geom_density() +
scale_x_time()
Para los dos gráficos anteriores, haga las siguientes modificaciones:
Muestre el histograma de los accidentes según su tipo (ayuda: utilice TIPO__CONA). Haga un fill por dicha variable, al mismo tiempo que elimina la leyenda.
Para el gráfico de distribución incluya una linea vetical que represente la hora promedio en la cual ocurren los accidentes. Incluya otra con la mediana. Modifique también la escala del eje y.
# facet son diviciones, las weas que estan dentro de ~ son subdivisiones ( se ponene las variables ), free_y deja a cada pequeño grafo tener su propio eje y
ggplot(bici,aes(x=HORA,fill=TIPO__CONA)) +
geom_histogram(color='black') +
facet_wrap(~TIPO__CONA,scale='free_y') +
scale_x_time() +
theme_classic() +
theme(legend.position = 'none')
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
#geom vline se una linea recta
ggplot(bici,aes(x=HORA)) +
geom_density() +
geom_vline(aes(xintercept = mean(HORA),color='Media')) +
geom_vline(aes(xintercept = median(HORA),color='Mediana')) +
scale_x_time() +
theme_classic() +
theme(legend.position = 'bottom') +
labs(colour=NULL) +
scale_y_continuous(labels = number_format(suffix = '%',scale = 100))
Haga un mapa exploratorio (en ggplot2) sobre la ubicación de los accidentes Recomendación: usar base mapa_zonas (chilemapas) y filtrar por región metropolitana.
ggplot(bici,aes(geometry = geometry)) +
geom_sf() +
geom_sf(data=mapa_zonas %>% filter(codigo_region == '13'),fill=NA) +
coord_sf(xlim = c(-70.85,-70.45), ylim = c(-33.65,-33.3)) +
theme_void()
Mediante el paquete leaflet, muestre el número de accidentes por comuna. Para lo anterior, utilice la base “mapa_comunas” (chilemapas) y filtre por la región Metropolitana. Haga un merge entre dicho mapa y los datos de accidentes por comuna. Transforme dicho objeto a clase “sf” y modifique la proyección del objeto a “+proj=longlat +datum=WGS84”. Enchulelo.
leaflet(mapa) %>%
addTiles() %>%
addPolygons(fillColor = ~pal(total),fillOpacity = 0.5, weight = 2,
col = "black", dashArray = "3",
label = ~paste("Accidentes:",round(total,1))) %>%
addLegend(pal = pal, values = ~total,position = "bottomright",
title = ~paste0("Total accidentes")) %>%
addScaleBar(position = "topright")
¿Que se puede concluir de los gráficos y análisis exploratorio?