Este control tiene como finalidad evaluar el trabajo de base de datos y visualizaciones. Se evaluarÔ la correcta ejecución del código y el uso eficiente de las herramientas de codificación entregadas.

Formato:

El formato de respuesta del control es el siguiente:

  1. Antes de la respuesta debes agregar un encabezado de tercer nivel (###) con Pregunta y el nĆŗmero de pregunta.
  2. Abajo del encabezado, debe estar escrita la pregunta.
  3. Agregar los códigos en chunks e incluir el output de ser necesario.
  4. La explicación de las respuestas (anÔlisis) debe ir como texto, fuera del chunk.
  5. El tĆ­tulo del informe debe ser ā€œControl 2ā€ y el nombre del(los) alumno(s) debe ir en autor.
  6. El control se debe entregar en formato PDF o en HTML como un link en su RPubs. DeberƔn subir sus respuestas ademƔs de su archivo en formato R Markdown como respaldo. Se evaluarƔn solo sus respuestas en el informe en HTML o PDF
  7. Recuerde que puede usar las ā€œcheatsheetsā€ disponibles en webcursos para apoyarse.
  8. No habrƔ que conectarse a Zoom. El control estarƔ disponible desde las 8:30 y tendrƔn hasta las 12:00 del dƭa para entregarlo.
  9. PodrĆ” ser resuelto en parejas o individualmente.

El formato tiene puntaje asignado en la nota. (3 puntos)

Para este control, deberĆ” usar la base de datos ENE.csv, este erchivo ya esta depurada de la Encuesta Nacional de Empleo (ENE) elaborada por el INE.

Pregunta 1

Cargue las librerias data.table, readxl, ggplot2, chilemapas,sf,sp,leaflet y las bases de datos ENE.csv con el nombre ENE y comunas.csv con el nombre comunas. Luego, una ambas bases de datos con el nombre de la comuna (5 puntos)

library(leaflet) # Mapas
library(sp)
library(sf) 
## Linking to GEOS 3.8.1, GDAL 3.1.4, PROJ 6.3.1
library(chilemapas) 
## Registered S3 method overwritten by 'geojsonlint':
##   method         from 
##   print.location dplyr
library(ggplot2)
library(data.table)
library(readxl)
rm(list=ls())
ENE <- fread("/Users/magdalena/Dropbox/ds4eyn/2021/Magdalena/Controles/ENE.csv")
comunas <- fread("/Users/magdalena/Dropbox/ds4eyn/2021/Magdalena/Controles/Comunas.csv")
ENE <- merge(ENE,comunas,by.x='r_p_c', by.y='codigo_comuna')

Pregunta 2

¿CuÔntas personas fueron encuestadas y a cuÔntas personas representa esta encuesta? (3 puntos)

ENE[, sum(fact_cal,na.rm=T)]
## [1] 15853046

Pregunta 3

Grafíque el número de personas por región, utilice la función ggplot. (5 puntos)

ggplot(ENE,aes(region1, fact_cal)) + geom_col()

# También se acepta un geom_bar() contabilizando el número de personas encuestadas
ggplot(ENE, aes(region1)) + geom_bar()

Pregunta 4

Aguegue tƭtulo, subtƭtlo y fuente al grƔfico anterior, ademƔs arregle el eje x para que sea legible. (3 puntos)

ggplot(ENE,aes(region1, fact_cal)) + 
  geom_col() + labs(x='Región',y='Número de personas',title='Cantidad de habitantes', subtitle='Por región', caption= 'Fuente: Encuesta Nacional de Empleo') + 
  theme(axis.text.x = element_text(angle=20, vjust=0.5))

Pregunta 5

Escoja una región al azar. Cree un objeto que se llame Desempleo que contenga el número de personas por situación ocupacional y comuna de la región que eligió. Cree una nueva variable que se llame Tdesempleo utilizando la siguiente fórmula: \[ Tdesempleo = Cesantes / (Ocupados + Cesantes) \] Hint: Después de crear el objeto, cree una columna que sea la suma de ocupados por comuna, otra que sea la suma de cesantes por comuna, para después crear la tasa de desempleo que sea la suma de cesantes por comuna dividido por la suma de ocupados por comuna mÔs la suma de cesantes por comuna. (6 puntos, 2 por crear el objeto y 4 por crear la variable)

Desempleo <- ENE[region==3, sum(fact_cal,na.rm=T), by=.(region,nombre_comuna, situacion_ocupacional, r_p_c)]
Desempleo <- Desempleo[situacion_ocupacional=='OCUPADO',OCUPADO:=sum(V1),by='nombre_comuna']
Desempleo <- Desempleo[situacion_ocupacional=='CESANTE',CESANTE:=sum(V1),by='nombre_comuna']
Desempleo <- Desempleo[,T_desempleo:=(sum(CESANTE,na.rm = T)/(sum(OCUPADO,na.rm = T)+sum(CESANTE,na.rm = T))),by='nombre_comuna']

Pregunta 7

Haga un grƔfico de barras con las comunas en el eje y, y la tasa de desempleo en el eje x. (5 puntos)

ggplot(Desempleo,aes(T_desempleo, nombre_comuna)) + geom_col()

Pregunta 8

Cree un mapa con la tasa de desempleo comunal, utilizando el paquete chilemapas. Para esto, cree un objeto llamado mapa con el merge entre la geografía y la información de las comunas. (16 puntos)

Hint: DespuƩs de realizar el merge, elimine los duplicados de las comunas del objeto mapa y seleccione solo las variables nombre_comuna, geometry, T_desempleo

mapa <- mapa_comunas # (2 puntos)
Desempleo[, r_p_c := ifelse(r_p_c< 10000 , paste0("0",Desempleo$r_p_c), Desempleo$r_p_c)] # (2 puntos)
mapa <- merge(Desempleo,mapa_comunas,by.x="r_p_c", by.y="codigo_comuna") # (2 puntos)
mapa <- mapa[!duplicated(nombre_comuna), .(geometry, T_desempleo,nombre_comuna)]
mapa<-st_sf(mapa) # (1 punto)

bins<-seq(0,0.2,0.02) # (1 punto, no  importa como hayan definido los bins)
paleta<-colorBin(palette = 'Reds',domain = mapa$T_desempleo,bins = bins) # (1 punto)
labels <- sprintf(
  "<strong>Comuna: %s</strong><br/>Tasa de desempleo %g ",
  mapa$nombre_comuna, mapa$T_desempleo
) %>% lapply(htmltools::HTML)  # (2 puntos)
leaflet(mapa)%>%     # (5 puntos)
  addProviderTiles(provider = providers$OpenStreetMap.Mapnik)%>%
  addPolygons(color = ~paleta(T_desempleo),
              weight = 1, 
              fillOpacity = 0.8,
              label = labels)%>%
  addLegend(pal = paleta, values = ~bins, opacity = 1,position = "bottomright",title ="Tasa desempleo") 
## Warning: sf layer has inconsistent datum (+proj=longlat +ellps=GRS80 +no_defs).
## Need '+proj=longlat +datum=WGS84'
## Warning in RColorBrewer::brewer.pal(max(3, n), palette): n too large, allowed maximum for palette Reds is 9
## Returning the palette you asked for with that many colors

## Warning in RColorBrewer::brewer.pal(max(3, n), palette): n too large, allowed maximum for palette Reds is 9
## Returning the palette you asked for with that many colors

## Warning in RColorBrewer::brewer.pal(max(3, n), palette): n too large, allowed maximum for palette Reds is 9
## Returning the palette you asked for with that many colors