rm(list=ls())
library(data.table)
library(ggplot2)
library(leaflet)
library(chilemapas)
library(tidyverse)
library(sp)
library(broom)
library(janitor) #Paquete para limpiar datos
library(sf) #Geografia
library(RColorBrewer)
library(classInt)
library(plotly)
path <- 'C:/Users/Rorro Bielenberg/Desktop/UAI/Data Science/Tarea 4/'
colegios<- fread(paste0(path,'Colegios.csv'))
Pregunta 1 Muestre en un gráfico de barras el cual contenga el número de colegios por nivel minimo.
ggplot(colegios, aes(x=`Nivel mínimo`)) + geom_bar()
Pregunta 2 Realice un gráfico de distribución del puntaje simce de matematicas, agrupando por dependencias (público o particular subvencionado)
ggplot(colegios,aes(SIMCE_mate, fill=Dependencia)) +
geom_histogram()
Pregunta 3 Grafique la relación entre el SIMCE matemática básica con la variable Autoestima académica y motivación escolar básica. Explique
ggplot(colegios,aes(x=`SIMCE matemática básica`, y=`Autoestima académica y motivación escolar básica`)) + geom_point() + geom_smooth()
#Respuesta: Podemos observar que se tiende a tener un mayor puntaje en el simce de matematicas básica, cuando la variable autoestima y motivacion escolar son mayores.
Pregunta 4 Realice un mapa de leaflet que muestre donde se ubican los colegios de la región metropolitana. Utilice la función addCircles como tercer argumento, esto es, leaflet() %>% addtiles() %>% addCircles
leaflet(colegios) %>% addTiles() %>%
addCircles(lng = ~lon_school, lat = ~lat_school, weight = 1,
radius = ~sqrt(rbd) * 1, popup = ~cod_comuna
)
Pregunta 5 Realice un choropleth (mapa de poligonos) de los promedios simce de matématica básica por comuna de la región metropolitana.
Nota: agregue %>% setView(lng=-70.5,lat =-33.600, zoom = 8) al mapa, esta función setea la vista con las coodenadas específicas de la región metropolitana
mapa_comunas
## # A tibble: 345 x 4
## codigo_comuna codigo_provincia codigo_region geometry
## <chr> <chr> <chr> <MULTIPOLYGON [°]>
## 1 01401 014 01 (((-68.86081 -21.28512, -68.921~
## 2 01403 014 01 (((-68.65113 -19.77188, -68.811~
## 3 01405 014 01 (((-68.65113 -19.77188, -68.635~
## 4 01402 014 01 (((-69.31789 -19.13651, -69.271~
## 5 01404 014 01 (((-69.39615 -19.06125, -69.400~
## 6 01107 011 01 (((-70.1095 -20.35131, -70.1243~
## 7 01101 011 01 (((-70.09894 -20.08504, -70.102~
## 8 02104 021 02 (((-68.98863 -25.38016, -68.987~
## 9 02101 021 02 (((-70.60654 -23.43054, -70.601~
## 10 02201 022 02 (((-67.94302 -22.38175, -67.955~
## # ... with 335 more rows
colegios2 <- merge(mapa_comunas,colegios, by.x="codigo_comuna", by.y="cod_comuna")
colegios2 <- na.omit(colegios2)
colegios2 <- data.table(colegios2)
promedios <- colegios2[, nota:=mean(`SIMCE matemática básica`), by=codigo_comuna]
promedios <- promedios[!duplicated(codigo_comuna), .(codigo_comuna, geometry, nota)]
promedios <- st_sf(promedios)
pal <- colorNumeric(
palette = "YlOrBr",
domain = colegios2$nota)
leaflet(promedios) %>%
setView(lng=-70.5,lat =-33.600, zoom = 8)%>%
addPolygons(fillColor = ~pal(nota),color = "#b2aeae", smoothFactor = 0.2, weight = 0.8,
opacity = 1.0, fillOpacity = 1)%>%
addLegend(pal = pal,
values = colegios2$nota,
position = "bottomright",
title = "Promedio General") %>%
addScaleBar(position = "topright")
Pregunta 6 Realice el mismo gráfico pero con ggplot
ggplot() +
geom_sf(promedios,mapping=aes(geometry=geometry, fill=nota))+
coord_sf(xlim = c(-71.8,-70), ylim = c(-34,-32))