El formato de respuesta es el siguiente:

Abajo del encabezado, debe estar escrita la pregunta. Agregar los códigos en chunks e incluir el output de ser necesario.

La explicación de las respuestas (si es que hay anÔlisis) debe ir como texto, fuera del chunk.

El tĆ­tulo del informe debe ser ā€œTarea 4ā€ y el nombre de todos los integrantes debe ir en autor. La actividad deberĆ” ser entregado en formato HTML. Agregue el nĆŗmero del grupo.

TambiƩn debe enviar su archivo en formato R Markdown como respaldo.

Recuerde que puede usar todo el material visto para apoyarse.

Todos los integrantes del grupo deben enviar el archivo de Rmarkdown

Tienen hasta el final de la clase para enviar la actividad

El formato tiene puntaje.(3 ptos)

Suprimir warning y mensajes(3 ptos)

Cargue las librerias y base de datos correspondientes.

library(gganimate)
library(ggcorrplot)
library(data.table)
library(tidyverse)
library(leaflet) # Mapas
library(sp)
library(broom)
library(janitor) #Paquete para limpiar datos
library(rgbif) #Datos para ejemplo de mapas
library(sf) #Geografia
library(chilemapas) #GeografĆ­a de Chile
library(RColorBrewer)
library(classInt)
library(plotly)
library(ggplot2)

path <- "C:/Users/matir/OneDrive/Escritorio/Mati/Universidad/2021/Segundo Semestre/Data Science/Tarea 4/"
colegio <- fread(paste0(path,"Colegios.csv"))

P1

Muestre en un grÔfico de barras el cual contenga el número de colegios por nivel minimo.

colegio2 <- colegio[,.N,(`Nivel mĆ­nimo`)]


ggplot (colegio2, aes(x = `Nivel mĆ­nimo`, y = N, fill = N)) + geom_col(color="black", fill="lightblue") + scale_y_continuous(n.breaks = 15)+ labs(x="Nivel MĆ­nimo", y="Cantidad de Colegios", title= "Numero de Colegios", subtitle= "por Nivel MĆ­nimo")

P2

Realice un grÔfico de distribución del puntaje simce de matematicas, agrupando por dependencias (público o particular subvencionado)

colegio3 <- colegio[,.N,.(Dependencia, `SIMCE matemƔtica bƔsica`)]

colegio4 <- colegio[,.N,.(Dependencia, `SIMCE matemƔtica bƔsica`)]

colegio4 <- colegio3[!is.na(`SIMCE matemƔtica bƔsica`),]

Creamos diferentes graficos, sin embargo nos quedamos con el primero:

ggplot (colegio3, aes(x = `SIMCE matemƔtica bƔsica` , y = N, color=Dependencia)) + geom_point() + facet_wrap(facets="Dependencia")+ geom_smooth() + scale_color_brewer(palette="Set1")

ggplot (colegio4, aes(x = `SIMCE matemƔtica bƔsica` , y = N, color=Dependencia)) + geom_line() + facet_wrap(facets="Dependencia")+ geom_smooth(color="yellow") + scale_color_brewer(palette="Dark2")

ggplot (colegio3, aes(x = `SIMCE matemƔtica bƔsica` , y = N)) + geom_line() + facet_wrap(facets="Dependencia")+ geom_smooth()

ggplot (colegio3, aes(x = `SIMCE matemƔtica bƔsica` , y = N, color=Dependencia)) + geom_line() + facet_wrap(facets="Dependencia")+ geom_smooth(color="yellow") + scale_color_brewer(palette="Dark2")

ggplot (colegio3, aes(x = `SIMCE matemƔtica bƔsica` , y = N, color=Dependencia, group=Dependencia))+ geom_line() +geom_smooth(color="yellow") + scale_color_brewer(palette="Dark2")

ggplot (colegio3, aes(x = `SIMCE matemƔtica bƔsica` , y = N, color=Dependencia, group=Dependencia))+ geom_line() + scale_color_brewer(palette="Dark2")

P3

Grafique la relación entre el SIMCE matemÔtica bÔsica con la variable Autoestima académica y motivación escolar bÔsica. Explique

colegio5 <- colegio[,.(`SIMCE matemÔtica bÔsica`,`Autoestima académica y motivación escolar bÔsica` )]

pregunta3 <- colegio5[!is.na(`SIMCE matemƔtica bƔsica`),]



ggplot (pregunta3, aes(x = `SIMCE matemÔtica bÔsica` , y = `Autoestima académica y motivación escolar bÔsica`, color=`Autoestima académica y motivación escolar bÔsica`))+ geom_point() + geom_smooth() + labs(x="Puntaje SIMCE MatemÔtica BÔsica", y="Autoestima y motivación escolar bÔsica", title= "Relacion entre puntaje SIMCE y Autoestima", subtitle= "Por Alumno", color="Autoestima") +scale_x_continuous(n.breaks = 8)+scale_y_continuous(n.breaks = 8)

### Respuesta:

Claramente, si trazamos una linea de tendencia como lo hicimos en el grafico, podemos ver que hay una relacion positiva entre la autoestima y motivacion con los puntajes del SIMCE obtenidos. A mayor autoestima y motivacion escolar, es muy probable que el alumno obtenga un puntaje SIMCE de matematicas mas alto

P4

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

comunas1 <- mapa_comunas
comunas <- mapa_comunas %>% 
  filter(codigo_region==13)

colegios_geo <- merge(comunas, colegio, by.x="codigo_comuna", by.y="cod_comuna")

colegios_geo <- st_sf(colegios_geo)

leaflet(colegios_geo) %>% addTiles() %>% addCircles (lat = ~lat_school , lng= ~lon_school)
#p5 %>% setView(lng=-70.5,lat =-33.600, zoom = 8) 

P5

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

colegios_geo <- data.table(colegios_geo)

promedios_geo <- colegios_geo[, promedios:=mean(`SIMCE matemƔtica bƔsica`), by=codigo_comuna]

promedios_geo_NA <- promedios_geo[!is.na(`SIMCE matemƔtica bƔsica`),]


promedios_geo_NA[, promedios:=mean(`SIMCE matemƔtica bƔsica`), by=codigo_comuna]


promedios_geo_NA <- data.table(promedios_geo_NA)
promedios_geo_NA <- st_sf(promedios_geo_NA)

pal <- colorNumeric (palette = "YlOrBr", domain = promedios_geo_NA$promedios)


mapa_SIMCE <- leaflet() %>% 
  addProviderTiles(providers$CartoDB.Positron) %>% 
  addPolygons(data = promedios_geo_NA,
              fillColor = ~pal(promedios),
              color = "#b2aeae",
              fillOpacity = 1,
              smoothFactor = 0.2,
              weight = 0.8) %>%   
  addLegend(pal = pal, 
            values = promedios_geo_NA$promedios,
            position = "bottomright",
            title = "Promedio por Comunas") %>% 
  addScaleBar(position = "topright")  %>% 
  setView(lng=-70.5,lat =-33.600, zoom = 8)

mapa_SIMCE

Acotacion:

Omitimos los establecimientos donde no habia promedio registrado (NA) porque de lo contrario omitĆ­a todo el promedio de la comuna en que se encontraba el establecimiento, lo cual causaba distorsion en crear el grafico. De todas formas dejamos a continuacion un grafico que incluye estos promedios no registrados (NA/s incluidos) :

promedio_geo_con_NA <- colegios_geo[, promedios:=mean(`SIMCE matemƔtica bƔsica`), by=codigo_comuna]


promedio_geo_con_NA <- data.table(promedio_geo_con_NA)


promedio_geo_con_NA <- promedio_geo_con_NA[!duplicated(codigo_comuna), .(codigo_comuna, geometry, promedios)]
promedio_geo_con_NA <- st_sf(promedio_geo_con_NA)
  

pal <- colorNumeric (palette = "YlOrBr", domain = promedio_geo_con_NA$promedios)


mapa_SIMCE <- leaflet() %>% 
  addProviderTiles(providers$CartoDB.Positron) %>% 
  addPolygons(data = promedio_geo_con_NA,
              fillColor = ~pal(promedios),
              color = "#b2aeae",
              fillOpacity = 1,
              smoothFactor = 0.2,
              weight = 0.8) %>% 
  addLegend(pal = pal, 
            values = promedio_geo_con_NA$promedios,
            position = "bottomright",
            title = "Promedio por Comunas") %>% 
  addScaleBar(position = "topright")  %>% 
  setView(lng=-70.5,lat =-33.600, zoom = 8)

mapa_SIMCE

P6

Realice el mismo grƔfico pero con ggplot

base <- data.frame(longitud = -70.5, latitud=-33.600)
ggplot(base, aes(longitud,latitud)) +
  geom_point()

comunas <-data.table(mapa_comunas)
santiago <- comunas[codigo_region=='13']
ggplot() +
  geom_sf(santiago, mapping=aes(geometry=geometry))+
  geom_point(base,mapping = aes(longitud,latitud) ) 

ggplot() +
  geom_sf(promedios_geo_NA,mapping=aes(geometry=geometry, fill=promedios))

Acotacion:

Realizamos lo mismo que en el caso anterior:

base <- data.frame(longitud = -70.5, latitud=-33.600)
ggplot(base, aes(longitud,latitud)) +
  geom_point()

comunas <-data.table(mapa_comunas)
santiago <- comunas[codigo_region=='13']
ggplot() +
  geom_sf(santiago, mapping=aes(geometry=geometry))+
  geom_point(base,mapping = aes(longitud,latitud) ) 

ggplot() +
  geom_sf(promedio_geo_con_NA,mapping=aes(geometry=geometry, fill=promedios))