Cargue la base de datos
library(data.table)
library(rpart.plot)
library(rpart)
library(caret)
library(factoextra)
library(dbscan)
library(ggplot2)
library(tidyverse)
library(rattle)
Cargue la base de datos y llamela “casen”
casen <- fread("CASEN 2020 Valpo (1).csv")
Pregunta 01 - Filtre la base Filtre la base “casen”, quedandose con solo aquellas observaciones cuya edad sea igual o mayor a 15 y donde la variable “activ” no sea NA. Que dicha base se siga llamando “casen”. Cree una nueva variable que se llame “cae_general”, la cual será valor “Ocupado” si “activ” = 1, “Desocupado” si “activ” = 2 e “Inactivo” si “activ” = 3.(2 pts.)
casen<- casen[edad>=15]
sum(is.na(casen$activ))
## [1] 0
casen[activ==1,cae_general:="Ocupado"]
casen[activ==2,cae_general:="Desocupado"]
casen[activ==3,cae_general:="Inactivo"]
Luego, cree una nueva base llamada “casen_inf” que contenga solo aquellas observaciones que cumplan que “ocup_inf” sea 1 o 2. Cree una nueva variable “informalidad”, la cual aquiera valor “Informal” si “ocup_inf” = 1 e “Formal” si “ocup_inf” = 2. (2 pts.)
casen_inf<-casen[casen$ocup_inf==1|casen$ocup_inf==2]
casen_inf[casen_inf$ocup_inf==1,Informalidad:="Informal"]
casen_inf[casen_inf$ocup_inf==2,Informalidad:="Formal"]
Pregunta 02 - Clasificación Clasifique a los trabajadores formales e informales de acuerdo con su edad “edad” y años de escolaridad “esc2”. (2 pts)
arbol01<- rpart(casen_inf$Informalidad~edad+esc2,data=casen_inf,method="class")
Posteriormente, muestre el gráfico del arbol de decisión. Interprete los resultados. (4 pts.)
rpart.plot(arbol01,main="Árbol de Decisión")
####En un comienzo se observa que el 68% de las personas en la muestra son trabajadores informales, para luego indicar, según la cantidad de años de escolaridad (mayor o menor a 11 años) a que tipo de trabajo accede. A la derecha, todos con un nivel de escolaridad menor a 11 años continúan con trabajo informal, mientras, en el caso contrario, existe una separación por edad. Aquellos mayores (o igual) a 66 años, acceden a trabajos formales, mientras que aquellos menores a esta edad se enfrentan a una nueva separación, donde aquellos menores a 41 años de edad llegan al trabajo formal, mientras que los menores a esta edad mantienen la informalidad, completando con esta última información el 100% de la muestra.
Pregunta 03 - Clasificación Volviendo a la base “casen”, cree una nueva base llamada “casen_sal” que contenga aquellas observaciones donde sist_salud va del 1 al 4. Luego, en esta nueva base, cree una columna llamada “sistema de salud” que adquiere el valor de “FONASA” si “sist_salud” = 1, “ISAPRE” si “sist_salud” = 2, “CAPREDENA” si “sist_salud” es = 3 y “PARTICULAR” si “sist_salud” es igual a 4. (2 pts.)
casen_sal<-casen[casen$sist_salud==1|casen$sist_salud==2|casen$sist_salud==3|casen$sist_salud==4]
casen_sal[casen_sal$sist_salud==1,sistema_de_salud:="FONASA"]
casen_sal[casen_sal$sist_salud==2,sistema_de_salud:="ISAPRE"]
casen_sal[casen_sal$sist_salud==3,sistema_de_salud:="CAPREDENA"]
casen_sal[casen_sal$sist_salud==4,sistema_de_salud:="PARTICULAR"]
Clasifique a a las personas segun su sistema de salud. Para eso, considere las variables de años de escolaridad “esc2” e ingreso del trabajo “ytrabajocor”. (2 pts)
arbol02<-rpart(sistema_de_salud~esc2+ytrabajocor,data=casen_sal,method= "class")
Posteriormente, muestre el gráfico del arbol de decisión. Interprete los resultados. (4 pts.)
rpart.plot(arbol02,main = "Árbol de Decisión 02")
#### A mayor nivel de ingreso, la persona accede a ISAPRE, mientras que una inmensa mayoría (92%), accede al servicio de salud público, FONASA
Pregunta 04 - Grafico de codo Creamos base de muestra (muy pesada para graficar entera) y graficamos distribución espacial: # Escriba este código samp <- casen_inf[,.(esc2,dau)][complete.cases(casen_inf[,.(esc2,dau)])] samp <- samp[sample(.N,1000),.(esc2,dau)] “esc2” son los años de escolaridad, mientras que “dau” es el decil de ingreso autonomo del hogar (entre más alto, mas rica la persona). En base al código entregado, cree un gráfico de codo para determinar el número de clusters óptimos. Justifique el valor escogido. (3 pts.)
samp <- casen_inf[,.(esc2,dau)][complete.cases(casen_inf[,.(esc2,dau)])]
samp <- samp[sample(.N,1000),.(esc2,dau)]
fviz_nbclust(x = samp, FUNcluster = kmeans, method = "wss", k.max = 15,diss = get_dist(samp, method = "euclidean"), nstart = 50)
#### El número óptimo de clusters será 5, ya que es en este punto donde comienza a adquirir consistencia la línea en el gráfico, logrando estabilizarse.
Pregunta 05 - Clusters Muestre gráficamente la distribución de los clusters en la base de datos “samp”. Utilice el número de clusters óptimos declarados en ejercicio 04. (6 pts.)
k1<-kmeans(x=samp,centers=5,nstart=25)
fviz_cluster(k1,data=samp,geom = "point")