P1 Cargue las librerias data.table, ggplot2, leaflet, sf y chilemapas. Además cargue la bases de datos de egresos y establecimientos, a estos objetos llamelos egresos y establecimientos respectivamente
rm(list = ls())
library(data.table)
library(ggplot2)
library(leaflet)
library(sf)
library(chilemapas)
library(janitor)
Establecimientos <- fread("Establecimientos.csv")
Egresos <- readRDS("egresos.RDS")
P2 Visualice la distribución de las edades que egresan de la base de datos.
ggplot(Egresos, aes(EDAD)) + geom_histogram()
P3 Realice un merge entre el objeto egresos y establecimientos, la variable del objeto egresos es ESTAB y de establecimientos es Código Vigente
Establecimientos <- clean_names(Establecimientos)
Datos <- merge(Egresos, Establecimientos, by.x="ESTAB", by.y="codigo_vigente")
P4 Cree un nuevo objeto que contenga la información de los establecimientos como el nombre, longitud, latitud, nombre de la comuna y la comuna.
Pista: Elimine los duplicados de establecimiento para poder crear un mapa
Establecimientos <- Establecimientos[!duplicated(Establecimientos)]
Info_establecimientos <- Establecimientos[, .(nombre_oficial, longitud_grados_decimales, latitud_grados_decimales, nombre_comuna, codigo_comuna)]
P5 Realice un mapa con leaflet que marque los puntos de los establecimientos hospitalarios.
Recuerde que en este caso al marcar puntos y no tener una geometria de poligonos no es necesario que el objeto sea sf.
Bonus: muestre un pop up, el texto que aparezca el nombre del establecimiento y la comuna.
mapa <- leaflet() %>%
addTiles() %>%
addMarkers(data= Info_establecimientos, lng= ~longitud_grados_decimales, lat = ~latitud_grados_decimales, popup =Info_establecimientos$nombre_oficial)
mapa
P6 Haga un objeto que sea la suma de los establecimientos por región y realice un merge con la generación de regiones
establecimiento_region <- Establecimientos[, .N, by=codigo_region]
names(establecimiento_region)[2] <- "Cantidad_establecimientos"
regiones <- generar_regiones()
regiones <- data.table(regiones)
regiones[, codigo_region:= as.integer(codigo_region)]
Mapa_region <- merge(establecimiento_region, regiones, by.x="codigo_region", by.y="codigo_region")
P7 Realice un choroplet (un mapa de polígonos) que muestre el total de establecimientos por región. Debe de agregar una paleta de colores.
paleta <- colorNumeric(palette = "Reds", domain = Mapa_region$Cantidad_establecimientos)
Mapa_region[, Cantidad_establecimientos := as.numeric(Cantidad_establecimientos)]
Mapa_region <- st_sf(Mapa_region)
mapa2 <- leaflet(Mapa_region$Cantidad_establecimientos) %>%
addTiles() %>%
addPolygons(data = Mapa_region,
fillColor = ~paleta(Mapa_region$Cantidad_establecimientos),
color = "#b2aeae",
fillOpacity = 5, smoothFactor = 0.2,
weight = 1) %>%
addLegend(pal=paleta,
values = Mapa_region$Cantidad_establecimientos,
position = "bottomleft",
title = "Establecimientos por region")
mapa2