#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 código de la comuna (en la base de datos de la ENE se llama r_p_c.) (5 puntos)
rm(list = ls())
library(data.table)
library(readxl)
library(ggplot2)
library(chilemapas)
## Loading required package: sf
## Linking to GEOS 3.9.0, GDAL 3.2.1, PROJ 7.2.1
## Registered S3 method overwritten by 'geojsonlint':
## method from
## print.location dplyr
library(sf)
library(sp)
library(leaflet)
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:data.table':
##
## between, first, last
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
###Bases de datos
ENE=fread("N.csv")
comunas=fread("comunas.csv")
###merge base de datos
ncomunas=merge(x=ENE, y=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? Tenga en cuenta lo que hablamos del factor de expansión en clases y ayudantía, la variable de factor expansión es fact_cal
total=ncomunas[,.(total=.N)]
ncomunas[,sum(fact_cal, na.rm = T)]
## [1] 15853046
###El total de personas encuestadas fueron 73,797. La encuesta representa a 15,853,046 personas en total
#Pregunta 3 ###Grafíque el número de personas por región, utilice la función ggplot ##considero cantidad de encuestados, no cantidad de población total
totalregion=ncomunas [,.(total=.N),by=.(region1)]
ggplot(totalregion,aes(x=region1,y=total)) +
geom_bar(stat='identity')
#Pregunta 4 ###Aguegue título, subtítlo y fuente al gráfico anterior, además arregle el eje x para que sea legible. ##considero cantidad de encuestados, no cantidad de población total
ggplot(totalregion,aes(x=reorder(region1,total),y=total)) +
geom_bar(stat='identity') +
labs(title = 'Cantidad de encuestados', subtitle = 'Según región',
caption = 'Encuesta Nacional de Empleo, INE ',
x = 'Región',y = 'N° de encuestados') +
coord_flip() +
theme_classic()
###La región con mayor cantidad de encuestados es la Region Metropolitana #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 ##considero cantidad de encuestados, no cantidad de población total
RM=ncomunas %>% filter(region == '13')
desempleo=RM [,.(total=.N),by=.(situacion_ocupacional,nombre_comuna)]
ocupados=desempleo%>% filter(situacion_ocupacional=='OCUPADO')
cesantes=desempleo%>% filter(situacion_ocupacional=='CESANTE')
desempleo1=merge(x=cesantes, y=ocupados, by="nombre_comuna")
tdesempleo= (desempleo1[,3]/(desempleo1[,5]+desempleo1[,3]))
nombre_comuna=desempleo1[,1]
tdesempleo=cbind(tdesempleo,nombre_comuna)
#Pregunta 6 (7) ###Haga un gráfico de barras con las comunas en el eje y, y la tasa de desempleo en el eje x. ##considero cantidad de encuestados, no cantidad de población total
ggplot(tdesempleo,aes(x=total.x,y=nombre_comuna)) +
geom_bar(stat='identity') +
labs(title = 'Tasa de desempleo', subtitle = 'Según comuna de la RM',
caption = 'Encuesta Nacional de Empleo, INE ',
x = 'Comuna',y = 'Tasa de desempleo') +
theme(axis.text.x = element_text(angle=90, vjust=0.5)) + scale_fill_brewer(palette = "Blues")
##A mi parecer se ve más ordenado con las comunas en el eje x, por lo tanto lo volví a realizar
ggplot(tdesempleo,aes(x=reorder(nombre_comuna,total.x),y=total.x)) +
geom_bar(stat='identity') +
labs(title = 'Tasa de desempleo', subtitle = 'Según comuna de la RM',
caption = 'Encuesta Nacional de Empleo, INE ',
x = 'Comuna',y = 'Tasa de desempleo') +
theme(axis.text.x = element_text(angle=90, vjust=0.5)) + scale_fill_brewer(palette = "Blues")
###se concluye que la comuna de la RM con mayor tasa de desempleo es la comuna de Calera de Tango.
#Pregunta 7 ###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. ###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 %>% filter(codigo_region == '13')
mapan=ncomunas %>% filter(region == '13')
mapa1=merge(x=mapa, y=mapan, by.x="codigo_comuna", by.y="r_p_c")
names(mapa1)
## [1] "codigo_comuna" "codigo_provincia" "codigo_region"
## [4] "geometry" "V1.x" "region"
## [7] "region1" "fact_cal" "situacion_ocupacional"
## [10] "V1.y" "nombre_comuna"
borrar=c("V1.y", "situacion_ocupacional", "fact_cal","region", "region1","V1.x")
mapa2= mapa1[, !(names(mapa1)%in% borrar)]
mapadesempleo=merge(x=mapa2, y=tdesempleo, by="nombre_comuna")
mapadesempleo1 =mapadesempleo[!duplicated(mapadesempleo),]
#MAPA DESEMPLEO RM (Considerando solo encuestados)
pal <- colorBin("Set3", domain = c(mapadesempleo1$total.x))
mapadesempleo1 <- st_as_sf(mapadesempleo1)
mapadesempleo1=st_sf(mapadesempleo1)
mapadesempleo1=st_transform(mapadesempleo1,crs = "+proj=longlat +datum=WGS84")
bins=seq(0,1,0.02)
paleta = colorBin("Set3", domain = c(mapadesempleo1$total.x))
labels = sprintf(
"<strong>%s</strong><br/>%g Porc. Desempleo",
mapadesempleo1$nombre_comuna, mapadesempleo1$total.x
) %>% lapply(htmltools::HTML)
leaflet(mapadesempleo1)%>%
addProviderTiles(provider = providers$OpenStreetMap.Mapnik)%>%
addPolygons(color = ~paleta(total.x),
weight = 1,
fillOpacity = 0.8,
label = labels)%>%
addLegend(pal = paleta, values = ~bins, opacity = 1,position = "bottomright",title ="Porcentaje desempleo")
###Nuevamente se demuestra que la comuna con mayor tasa dee desempleo es la de Calera de Tango, seguida por la comuna María Pinto y San Ramón.