1.1 Ingresos promedio por comuna

Obtenemos el dato de “ingreso promedio anual” según CASEN 2017 (a nivel de comuna) y obtener el coeficiente de correlación respecto a diferentes variables o combinaciones variables en el CASEN 2017 también a nivel de comuna.

Leemos la base de datos:

# leemos la base de datos:
casen_2017 <- readRDS(file = "casen_2017_c.rds")

Eliminamos del dataframe los registros que no posean valores en la columna del ingreso total:

casen_2017 <- casen_2017[!is.na(casen_2017$ytotcor),]

Excluimos los outliers:

Q <- quantile(casen_2017$ytotcor, probs=c(.25, .75), na.rm = FALSE)
iqr <- IQR(casen_2017$ytotcor)
casen_2017_sin_o <- subset(casen_2017, casen_2017$ytotcor > (Q[1] - 1.5*iqr) & casen_2017$ytotcor < (Q[2]+1.5*iqr))
casen_2017_sin_o <- data.frame(lapply(casen_2017_sin_o, as.character), stringsAsFactors=FALSE)

# despleguemos los primeros 100 registros en pantalla del subset creado:
# eliminated_100 <- eliminated[c(1:100),]
# eliminated_100 %>%  kbl() %>%
# kable_material(c("striped", "hover"), font_size = 12)%>%
#    scroll_box(width = "100%", height = "500px")

Obtenemos los promedios de ingreso comunales:

b <-  as.numeric(casen_2017_sin_o$ytotcor)
a <- casen_2017_sin_o$comuna

promedios_grupales <-aggregate(b, by=list(a), FUN = mean , na.rm=TRUE )

Veamos los primeros 5 registros:

head(promedios_grupales,5)
##           Group.1        x
## 1       Algarrobo 322834.9
## 2           Alhué 308131.0
## 3     Alto Biobío 200486.6
## 4 Alto del Carmen 227130.4
## 5   Alto Hospicio 301933.4

Renombramos y agregamos una columna año:

#Asignamos nombres con sentido a las cabeceras:
names(promedios_grupales)[1] <- "comuna"
names(promedios_grupales)[2] <- "promedio_i"
promedios_grupales$año <- "2017"

Existen 346 comunas en Chile

Agregamos los codigos comunales:

codigos_comunales <- readRDS(file = "codigos_comunales_2011-2017.rds")
names(codigos_comunales)[1] <- "código"
names(codigos_comunales)[2] <- "comuna"

df_2017 = merge( x = promedios_grupales, y = codigos_comunales, by = "comuna", all.x = TRUE)

Veamos los primeros 5 registros:

head(df_2017,5)
##            comuna promedio_i  año código
## 1       Algarrobo   322834.9 2017  05602
## 2           Alhué   308131.0 2017  13502
## 3     Alto Biobío   200486.6 2017  08314
## 4 Alto del Carmen   227130.4 2017  03302
## 5   Alto Hospicio   301933.4 2017  01107

Agreguemos una columna con la variable de ingresos ponderada por poblacion:

library("rio")
x <- import("Microdato_Censo2017-Personas.csv")
my_summary_data <- x %>%
    group_by(x$COMUNA) %>%
    summarise(Count = n()) 
head(my_summary_data,5)
## # A tibble: 5 x 2
##   `x$COMUNA`  Count
##        <int>  <int>
## 1       1101 191468
## 2       1107 108375
## 3       1401  15711
## 4       1402   1250
## 5       1403   1728

Agregamos un cero antes de cada codigo comunal para poder hacer el merge

names(my_summary_data)[1] <- "comuna"     
names(my_summary_data)[2] <- "personas"
my_summary_data
## # A tibble: 346 x 2
##    comuna personas
##     <int>    <int>
##  1   1101   191468
##  2   1107   108375
##  3   1401    15711
##  4   1402     1250
##  5   1403     1728
##  6   1404     2730
##  7   1405     9296
##  8   2101   361873
##  9   2102    13467
## 10   2103    10186
## # ... with 336 more rows
# recogemos el campo Comuna:
codigos <- my_summary_data$comuna
# construimos una secuencia llamada rango del 1 al total de filas del dataset:
rango <- seq(1:nrow(my_summary_data))
# Creamos un string que agrega un cero a todos los registros:
cadena <- paste("0",codigos[rango], sep = "")

# El string cadena tiene o 5 o 6 digitos, los cuales siempre deben ser siempre 5 agregandole un cero al inicio de los que tienen 4.
# Para ello extraemos un substring de la cadena sobre todas las filas (rangos) comenzando desde el primero o el segundo y llegando siempre al 6.

cadena <- substr(cadena,(nchar(cadena)[rango])-(4),6)
codigos <- as.data.frame(codigos)
cadena <- as.data.frame(cadena)
comuna_corr <- cbind(my_summary_data,cadena)
head(comuna_corr,5)
##   comuna personas cadena
## 1   1101   191468  01101
## 2   1107   108375  01107
## 3   1401    15711  01401
## 4   1402     1250  01402
## 5   1403     1728  01403
names(comuna_corr)[3] <- "código"  
head(comuna_corr,5)
##   comuna personas código
## 1   1101   191468  01101
## 2   1107   108375  01107
## 3   1401    15711  01401
## 4   1402     1250  01402
## 5   1403     1728  01403

unimos:

df_2017_2 = merge( x = df_2017, y = comuna_corr, by = "código", all.x = TRUE)
head(df_2017_2,5)
##   código      comuna.x promedio_i  año comuna.y personas
## 1  01101       Iquique   354820.7 2017     1101   191468
## 2  01107 Alto Hospicio   301933.4 2017     1107   108375
## 3  01401  Pozo Almonte   285981.8 2017     1401    15711
## 4  01402        Camiña   262850.3 2017     1402     1250
## 5  01404         Huara   253968.5 2017     1404     2730

Agregamos la columna “Ingresos_expandidos”

df_2017_2$Ingresos_expandidos <- df_2017_2$promedio_i*df_2017_2$personas

head(df_2017_2,5)
##   código      comuna.x promedio_i  año comuna.y personas Ingresos_expandidos
## 1  01101       Iquique   354820.7 2017     1101   191468         67936815240
## 2  01107 Alto Hospicio   301933.4 2017     1107   108375         32722034397
## 3  01401  Pozo Almonte   285981.8 2017     1401    15711          4493059532
## 4  01402        Camiña   262850.3 2017     1402     1250           328562901
## 5  01404         Huara   253968.5 2017     1404     2730           693334131

1.2 Variables a correlacionar

1.2.1 Indicadores de calidad de la vivienda

La Casen 2017 posee tres variables construídas que recogen información relativa a la calidad de la vivienda.

indmat: Indicador de Materialidad

Vivienda Aceptable
Vivienda Recuperable
Vivienda Irrecuperable
SD/NR

indsan: Indicador Saneamiento

Aceptable
Deficitario
Sin

calglobviv: Calidad Global De La Vivienda

Aceptable
Recuperable
Irrecuperable
Sin dato

Correlacionaremos el ingreso promedio comunal con la tasa de cada categoría en cada una de ellas:

indmat

Obtenemos las frecuencias

b <- casen_2017$comuna
c <- casen_2017$indmat

cross_tab =  xtabs(casen_2017$expc ~  +  unlist(b) + unlist(c)  ,aggregate(casen_2017$expc ~  +  unlist(b) + unlist(c),casen_2017,mean))
tabla <- as.data.frame(cross_tab)
d <-tabla[!(tabla$Freq == 0),]
d$anio <- "2017"
head(d,5)
##       unlist.b.          unlist.c.   Freq anio
## 1       Iquique Vivienda Aceptable 101472 2017
## 2 Alto Hospicio Vivienda Aceptable  56346 2017
## 3  Pozo Almonte Vivienda Aceptable   7256 2017
## 4        Camiña Vivienda Aceptable    355 2017
## 5         Huara Vivienda Aceptable   1022 2017

Renombramos columnas y agregamos los codigos comunales

names(d)[1] <- "comuna"     
names(d)[2] <- "indmat"
names(d)[3] <- "Frecuencia"
names(d)[4] <- "Año"  

df_final = merge( x = d, y = codigos_comunales, by = "comuna", all.x = TRUE)
head(df_final,5)
##      comuna               indmat Frecuencia  Año código
## 1 Algarrobo                SD/NR         99 2017  05602
## 2 Algarrobo Vivienda Recuperable       1224 2017  05602
## 3 Algarrobo   Vivienda Aceptable      10343 2017  05602
## 4     Alhué Vivienda Recuperable        659 2017  13502
## 5     Alhué   Vivienda Aceptable       2502 2017  13502
# write_xlsx(df_final, "iae_etnia_sexo_2017.xlsx")

Filtramos por vivienda recuperable

df_vivi_recu <- filter(df_final, df_final$indmat == "Vivienda Recuperable")
head(df_vivi_recu,5)
##            comuna               indmat Frecuencia  Año código
## 1       Algarrobo Vivienda Recuperable       1224 2017  05602
## 2           Alhué Vivienda Recuperable        659 2017  13502
## 3     Alto Biobío Vivienda Recuperable        748 2017  08314
## 4 Alto del Carmen Vivienda Recuperable       1942 2017  03302
## 5   Alto Hospicio Vivienda Recuperable      13232 2017  01107

Entonces, tenemos nuestra tabla de ingresos promedio

head(df_2017,5)
##            comuna promedio_i  año código
## 1       Algarrobo   322834.9 2017  05602
## 2           Alhué   308131.0 2017  13502
## 3     Alto Biobío   200486.6 2017  08314
## 4 Alto del Carmen   227130.4 2017  03302
## 5   Alto Hospicio   301933.4 2017  01107

y nuestra tabla de frecuencias

head(df_vivi_recu,5)
##            comuna               indmat Frecuencia  Año código
## 1       Algarrobo Vivienda Recuperable       1224 2017  05602
## 2           Alhué Vivienda Recuperable        659 2017  13502
## 3     Alto Biobío Vivienda Recuperable        748 2017  08314
## 4 Alto del Carmen Vivienda Recuperable       1942 2017  03302
## 5   Alto Hospicio Vivienda Recuperable      13232 2017  01107

las unimos

df_vivi_recu_final = merge( x = df_2017, y = df_vivi_recu, by = "código", all.x = TRUE)
head(df_vivi_recu_final,5)
##   código      comuna.x promedio_i  año      comuna.y               indmat
## 1  01101       Iquique   354820.7 2017       Iquique Vivienda Recuperable
## 2  01107 Alto Hospicio   301933.4 2017 Alto Hospicio Vivienda Recuperable
## 3  01401  Pozo Almonte   285981.8 2017  Pozo Almonte Vivienda Recuperable
## 4  01402        Camiña   262850.3 2017        Camiña Vivienda Recuperable
## 5  01404         Huara   253968.5 2017         Huara Vivienda Recuperable
##   Frecuencia  Año
## 1      11372 2017
## 2      13232 2017
## 3       2191 2017
## 4        213 2017
## 5        825 2017

Debemos corregir los ingresos promedio multiplicándolos por la cantidad de población.

Extraemos del Censo 2017 la cantidad de habitantes por comuna:

library("rio")
x <- import("Microdato_Censo2017-Personas.csv")
my_summary_data <- x %>%
    group_by(x$COMUNA) %>%
    summarise(Count = n()) 
head(my_summary_data,5)
## # A tibble: 5 x 2
##   `x$COMUNA`  Count
##        <int>  <int>
## 1       1101 191468
## 2       1107 108375
## 3       1401  15711
## 4       1402   1250
## 5       1403   1728

Agregamos un cero antes de cada codigo comunal para poder hacer el merge

names(my_summary_data)[1] <- "comuna"     
names(my_summary_data)[2] <- "personas"
my_summary_data
## # A tibble: 346 x 2
##    comuna personas
##     <int>    <int>
##  1   1101   191468
##  2   1107   108375
##  3   1401    15711
##  4   1402     1250
##  5   1403     1728
##  6   1404     2730
##  7   1405     9296
##  8   2101   361873
##  9   2102    13467
## 10   2103    10186
## # ... with 336 more rows
# recogemos el campo Comuna:
codigos <- my_summary_data$comuna
# construimos una secuencia llamada rango del 1 al total de filas del dataset:
rango <- seq(1:nrow(my_summary_data))
# Creamos un string que agrega un cero a todos los registros:
cadena <- paste("0",codigos[rango], sep = "")

# El string cadena tiene o 5 o 6 digitos, los cuales siempre deben ser siempre 5 agregandole un cero al inicio de los que tienen 4.
# Para ello extraemos un substring de la cadena sobre todas las filas (rangos) comenzando desde el primero o el segundo y llegando siempre al 6.

cadena <- substr(cadena,(nchar(cadena)[rango])-(4),6)
codigos <- as.data.frame(codigos)
cadena <- as.data.frame(cadena)
comuna_corr <- cbind(my_summary_data,cadena)
head(comuna_corr,5)
##   comuna personas cadena
## 1   1101   191468  01101
## 2   1107   108375  01107
## 3   1401    15711  01401
## 4   1402     1250  01402
## 5   1403     1728  01403
names(comuna_corr)[3] <- "código"  
head(comuna_corr,5)
##   comuna personas código
## 1   1101   191468  01101
## 2   1107   108375  01107
## 3   1401    15711  01401
## 4   1402     1250  01402
## 5   1403     1728  01403

Unimos

df_vivi_recu_final_3 = merge( x = df_vivi_recu_final, y = comuna_corr, by = "código", all.x = TRUE)
head(df_vivi_recu_final_3,5)
##   código      comuna.x promedio_i  año      comuna.y               indmat
## 1  01101       Iquique   354820.7 2017       Iquique Vivienda Recuperable
## 2  01107 Alto Hospicio   301933.4 2017 Alto Hospicio Vivienda Recuperable
## 3  01401  Pozo Almonte   285981.8 2017  Pozo Almonte Vivienda Recuperable
## 4  01402        Camiña   262850.3 2017        Camiña Vivienda Recuperable
## 5  01404         Huara   253968.5 2017         Huara Vivienda Recuperable
##   Frecuencia  Año comuna personas
## 1      11372 2017   1101   191468
## 2      13232 2017   1107   108375
## 3       2191 2017   1401    15711
## 4        213 2017   1402     1250
## 5        825 2017   1404     2730

Obtenemos la nueva variable: “variable_expandida”

df_vivi_recu_final_3$variable_expandida <- df_vivi_recu_final_3$promedio_i*df_vivi_recu_final_3$personas
head(df_vivi_recu_final_3,5)
##   código      comuna.x promedio_i  año      comuna.y               indmat
## 1  01101       Iquique   354820.7 2017       Iquique Vivienda Recuperable
## 2  01107 Alto Hospicio   301933.4 2017 Alto Hospicio Vivienda Recuperable
## 3  01401  Pozo Almonte   285981.8 2017  Pozo Almonte Vivienda Recuperable
## 4  01402        Camiña   262850.3 2017        Camiña Vivienda Recuperable
## 5  01404         Huara   253968.5 2017         Huara Vivienda Recuperable
##   Frecuencia  Año comuna personas variable_expandida
## 1      11372 2017   1101   191468        67936815240
## 2      13232 2017   1107   108375        32722034397
## 3       2191 2017   1401    15711         4493059532
## 4        213 2017   1402     1250          328562901
## 5        825 2017   1404     2730          693334131

Correlacionamos

dat1 <- data.frame(df_vivi_recu_final_3$Frecuencia, df_vivi_recu_final_3$variable_expandida)
chart.Correlation(dat1)

Automatización

head(df_final,5)
##      comuna               indmat Frecuencia  Año código
## 1 Algarrobo                SD/NR         99 2017  05602
## 2 Algarrobo Vivienda Recuperable       1224 2017  05602
## 3 Algarrobo   Vivienda Aceptable      10343 2017  05602
## 4     Alhué Vivienda Recuperable        659 2017  13502
## 5     Alhué   Vivienda Aceptable       2502 2017  13502

Extraemos las categorias de indmat

cate_ind_mat <- unique(df_final$indmat)
cate_ind_mat 
## [1] SD/NR                  Vivienda Recuperable   Vivienda Aceptable    
## [4] Vivienda Irrecuperable
## 4 Levels: Vivienda Aceptable Vivienda Recuperable ... SD/NR

Generamos 4 tablas de vivienda cada una con la respectiva categoría. Le agregamos a cada una la tabla de los ingresos.

for (i in cate_ind_mat){
      
      df_vivi_recu <- filter(df_final, df_final$indmat == i)
      
      df_vivi_recu_2 <- merge( x =df_vivi_recu , y = comuna_corr, by = "código", all.x = TRUE)
#head(df_final,5)
      
      df_vivi_recu_3 <- merge( x =df_vivi_recu_2 , y = df_2017_2, by = "código", all.x = TRUE)

     # print(df_vivi_recu_2)
      assign(paste("Vivienda_",i, sep = ""), df_vivi_recu_3)
}
head(`Vivienda_Vivienda Aceptable`,5)
##   código    comuna.x.x             indmat Frecuencia  Año comuna.y.x personas.x
## 1  01101       Iquique Vivienda Aceptable     101472 2017       1101     191468
## 2  01107 Alto Hospicio Vivienda Aceptable      56346 2017       1107     108375
## 3  01401  Pozo Almonte Vivienda Aceptable       7256 2017       1401      15711
## 4  01402        Camiña Vivienda Aceptable        355 2017       1402       1250
## 5  01404         Huara Vivienda Aceptable       1022 2017       1404       2730
##      comuna.x.y promedio_i  año comuna.y.y personas.y Ingresos_expandidos
## 1       Iquique   354820.7 2017       1101     191468         67936815240
## 2 Alto Hospicio   301933.4 2017       1107     108375         32722034397
## 3  Pozo Almonte   285981.8 2017       1401      15711          4493059532
## 4        Camiña   262850.3 2017       1402       1250           328562901
## 5         Huara   253968.5 2017       1404       2730           693334131
head(`Vivienda_Vivienda Irrecuperable`,5)
##   código    comuna.x.x                 indmat Frecuencia  Año comuna.y.x
## 1  01101       Iquique Vivienda Irrecuperable        174 2017       1101
## 2  01107 Alto Hospicio Vivienda Irrecuperable        805 2017       1107
## 3  01401  Pozo Almonte Vivienda Irrecuperable        515 2017       1401
## 4  01404         Huara Vivienda Irrecuperable        378 2017       1404
## 5  01405          Pica Vivienda Irrecuperable        186 2017       1405
##   personas.x    comuna.x.y promedio_i  año comuna.y.y personas.y
## 1     191468       Iquique   354820.7 2017       1101     191468
## 2     108375 Alto Hospicio   301933.4 2017       1107     108375
## 3      15711  Pozo Almonte   285981.8 2017       1401      15711
## 4       2730         Huara   253968.5 2017       1404       2730
## 5       9296          Pica   313007.5 2017       1405       9296
##   Ingresos_expandidos
## 1         67936815240
## 2         32722034397
## 3          4493059532
## 4           693334131
## 5          2909717399
head(`Vivienda_Vivienda Recuperable`,5)
##   código    comuna.x.x               indmat Frecuencia  Año comuna.y.x
## 1  01101       Iquique Vivienda Recuperable      11372 2017       1101
## 2  01107 Alto Hospicio Vivienda Recuperable      13232 2017       1107
## 3  01401  Pozo Almonte Vivienda Recuperable       2191 2017       1401
## 4  01402        Camiña Vivienda Recuperable        213 2017       1402
## 5  01404         Huara Vivienda Recuperable        825 2017       1404
##   personas.x    comuna.x.y promedio_i  año comuna.y.y personas.y
## 1     191468       Iquique   354820.7 2017       1101     191468
## 2     108375 Alto Hospicio   301933.4 2017       1107     108375
## 3      15711  Pozo Almonte   285981.8 2017       1401      15711
## 4       1250        Camiña   262850.3 2017       1402       1250
## 5       2730         Huara   253968.5 2017       1404       2730
##   Ingresos_expandidos
## 1         67936815240
## 2         32722034397
## 3          4493059532
## 4           328562901
## 5           693334131
head(`Vivienda_SD/NR`,5)
##   código  comuna.x.x indmat Frecuencia  Año comuna.y.x personas.x  comuna.x.y
## 1  01101     Iquique  SD/NR        366 2017       1101     191468     Iquique
## 2  02101 Antofagasta  SD/NR        387 2017       2101     361873 Antofagasta
## 3  02201      Calama  SD/NR         33 2017       2201     165731      Calama
## 4  02301   Tocopilla  SD/NR        196 2017       2301      25186   Tocopilla
## 5  03101     Copiapó  SD/NR        144 2017       3101     153937     Copiapó
##   promedio_i  año comuna.y.y personas.y Ingresos_expandidos
## 1   354820.7 2017       1101     191468         67936815240
## 2   347580.2 2017       2101     361873        125779893517
## 3   409671.3 2017       2201     165731         67895226712
## 4   246615.3 2017       2301      25186          6211253937
## 5   330075.2 2017       3101     153937         50810778473

Correlacionamos

dat1 <- data.frame(`Vivienda_Vivienda Aceptable`$Frecuencia, `Vivienda_Vivienda Aceptable`$Ingresos_expandidos)
chart.Correlation(dat1)

dat1 <- data.frame(`Vivienda_Vivienda Irrecuperable`$Frecuencia, `Vivienda_Vivienda Irrecuperable`$Ingresos_expandidos)
chart.Correlation(dat1)

dat1 <- data.frame(`Vivienda_Vivienda Recuperable`$Frecuencia, `Vivienda_Vivienda Recuperable`$Ingresos_expandidos)
chart.Correlation(dat1)

dat1 <- data.frame(`Vivienda_SD/NR`$Frecuencia, `Vivienda_SD/NR`$Ingresos_expandidos)
chart.Correlation(dat1)

1.2.2 Correlación con cantidad de habitantes que finalizaron la educación universitaria.

La casen en e6a pregunta: ¿Cuál fue el nivel educacional más alto alcanzado o el nivel educacional actual? Profesional Completo (Carreras 4. o más años)

  1. Extraemos las frecuencias:
b <- casen_2017$comuna
c <- casen_2017$e6a
cross_tab =  xtabs(casen_2017$expc ~  +  unlist(b) + unlist(c)  ,aggregate(casen_2017$expc ~  +  unlist(b) + unlist(c),casen_2017,mean))
tabla <- as.data.frame(cross_tab)
d <-tabla[!(tabla$Freq == 0),]
d$anio <- "2017"
head(d,5)
##       unlist.b.     unlist.c. Freq anio
## 1       Iquique Nunca asistió 1563 2017
## 2 Alto Hospicio Nunca asistió 1374 2017
## 3  Pozo Almonte Nunca asistió   59 2017
## 4        Camiña Nunca asistió   58 2017
## 5         Huara Nunca asistió  166 2017
  1. Renombramos y agregamos los codigos comunales:
names(d)[1] <- "comuna"     
names(d)[2] <- "universitarios"
names(d)[3] <- "Frecuencia"
names(d)[4] <- "Año"  

df_final = merge( x = d, y = codigos_comunales, by = "comuna", all.x = TRUE)
head(df_final,5)
##      comuna                                        universitarios Frecuencia
## 1 Algarrobo                         Humanidades (Sistema Antiguo)        956
## 2 Algarrobo             Primaria o Preparatoria (Sistema antiguo)        949
## 3 Algarrobo Técnico Nivel Superior Completo (Carreras 1 a 3 años)       1209
## 4 Algarrobo           Jardín Infantil (Medio menor y Medio mayor)         56
## 5 Algarrobo          Profesional Completo (Carreras 4 o más años)       1745
##    Año código
## 1 2017  05602
## 2 2017  05602
## 3 2017  05602
## 4 2017  05602
## 5 2017  05602
  1. Filtramos por “Profesional Completo (Carreras 4 o más años)”
df_uni <- filter(df_final, df_final$universitarios == "Profesional Completo (Carreras 4 o más años)")
head(df_uni,5)
##            comuna                               universitarios Frecuencia  Año
## 1       Algarrobo Profesional Completo (Carreras 4 o más años)       1745 2017
## 2           Alhué Profesional Completo (Carreras 4 o más años)         77 2017
## 3     Alto Biobío Profesional Completo (Carreras 4 o más años)        146 2017
## 4 Alto del Carmen Profesional Completo (Carreras 4 o más años)        112 2017
## 5   Alto Hospicio Profesional Completo (Carreras 4 o más años)       2961 2017
##   código
## 1  05602
## 2  13502
## 3  08314
## 4  03302
## 5  01107
  1. Unimos
df_ing_uni_1 = merge( x = df_uni, y = comuna_corr, by = "código", all.x = TRUE)
head(df_ing_uni_1,5)
##   código      comuna.x                               universitarios Frecuencia
## 1  01101       Iquique Profesional Completo (Carreras 4 o más años)      16032
## 2  01107 Alto Hospicio Profesional Completo (Carreras 4 o más años)       2961
## 3  01401  Pozo Almonte Profesional Completo (Carreras 4 o más años)        517
## 4  01402        Camiña Profesional Completo (Carreras 4 o más años)          9
## 5  01404         Huara Profesional Completo (Carreras 4 o más años)         47
##    Año comuna.y personas
## 1 2017     1101   191468
## 2 2017     1107   108375
## 3 2017     1401    15711
## 4 2017     1402     1250
## 5 2017     1404     2730
  1. Unimos con la tabla de ingresos:
df_ing_uni_2 = merge( x = df_2017, y = df_ing_uni_1, by = "código", all.x = TRUE)
head(df_ing_uni_2,5)
##   código        comuna promedio_i  año      comuna.x
## 1  01101       Iquique   354820.7 2017       Iquique
## 2  01107 Alto Hospicio   301933.4 2017 Alto Hospicio
## 3  01401  Pozo Almonte   285981.8 2017  Pozo Almonte
## 4  01402        Camiña   262850.3 2017        Camiña
## 5  01404         Huara   253968.5 2017         Huara
##                                 universitarios Frecuencia  Año comuna.y
## 1 Profesional Completo (Carreras 4 o más años)      16032 2017     1101
## 2 Profesional Completo (Carreras 4 o más años)       2961 2017     1107
## 3 Profesional Completo (Carreras 4 o más años)        517 2017     1401
## 4 Profesional Completo (Carreras 4 o más años)          9 2017     1402
## 5 Profesional Completo (Carreras 4 o más años)         47 2017     1404
##   personas
## 1   191468
## 2   108375
## 3    15711
## 4     1250
## 5     2730
  1. Agregamos la variable “ingreso_expandido”
df_ing_uni_2$ingreso_expandido <- df_ing_uni_2$promedio_i*df_ing_uni_2$personas
head(df_ing_uni_2,5)
##   código        comuna promedio_i  año      comuna.x
## 1  01101       Iquique   354820.7 2017       Iquique
## 2  01107 Alto Hospicio   301933.4 2017 Alto Hospicio
## 3  01401  Pozo Almonte   285981.8 2017  Pozo Almonte
## 4  01402        Camiña   262850.3 2017        Camiña
## 5  01404         Huara   253968.5 2017         Huara
##                                 universitarios Frecuencia  Año comuna.y
## 1 Profesional Completo (Carreras 4 o más años)      16032 2017     1101
## 2 Profesional Completo (Carreras 4 o más años)       2961 2017     1107
## 3 Profesional Completo (Carreras 4 o más años)        517 2017     1401
## 4 Profesional Completo (Carreras 4 o más años)          9 2017     1402
## 5 Profesional Completo (Carreras 4 o más años)         47 2017     1404
##   personas ingreso_expandido
## 1   191468       67936815240
## 2   108375       32722034397
## 3    15711        4493059532
## 4     1250         328562901
## 5     2730         693334131

Correlacionamos:

dat1 <- data.frame(df_ing_uni_2$ingreso_expandido, df_ing_uni_2$Frecuencia)
chart.Correlation(dat1)

Automatización

head(df_final,5)
##      comuna                                        universitarios Frecuencia
## 1 Algarrobo                         Humanidades (Sistema Antiguo)        956
## 2 Algarrobo             Primaria o Preparatoria (Sistema antiguo)        949
## 3 Algarrobo Técnico Nivel Superior Completo (Carreras 1 a 3 años)       1209
## 4 Algarrobo           Jardín Infantil (Medio menor y Medio mayor)         56
## 5 Algarrobo          Profesional Completo (Carreras 4 o más años)       1745
##    Año código
## 1 2017  05602
## 2 2017  05602
## 3 2017  05602
## 4 2017  05602
## 5 2017  05602

Extraemos las categorias de universitarios

cate_uni <- unique(df_final$universitarios)
cate_uni
##  [1] Humanidades (Sistema Antiguo)                               
##  [2] Primaria o Preparatoria (Sistema antiguo)                   
##  [3] Técnico Nivel Superior Completo (Carreras 1 a 3 años)       
##  [4] Jardín Infantil (Medio menor y Medio mayor)                 
##  [5] Profesional Completo (Carreras 4 o más años)                
##  [6] Educación Media Científico-Humanista                        
##  [7] Técnica, Comercial, Industrial o Normalista (Sistema Antiguo
##  [8] Profesional Incompleto (Carreras 4  o más años)             
##  [9] Nunca asistió                                               
## [10] Educación Básica                                            
## [11] Postgrado Incompleto                                        
## [12] Postgrado Completo                                          
## [13] Educación Media Técnica Profesional                         
## [14] Técnico Nivel Superior Incompleto (Carreras 1 a 3 años)     
## [15] No sabe/no responde                                         
## [16] Prekinder/Kinder (Transición menor y Transición Mayor)      
## [17] Educación Especial (Diferencial)                            
## [18] Sala cuna                                                   
## 18 Levels: Nunca asistió ... No sabe/no responde

Generamos 18 tablas de educacion cada una con la respectiva categoría. Le agregamos a cada una la tabla de los ingresos.

for (i in cate_uni){
      
      df_vivi_recu <- filter(df_final, df_final$universitarios == i)
      
      df_vivi_recu_2 <- merge( x =df_vivi_recu , y = comuna_corr, by = "código", all.x = TRUE)
#head(df_final,5)
      
      df_vivi_recu_3 <- merge( x =df_vivi_recu_2 , y = df_2017_2, by = "código", all.x = TRUE)

     # print(df_vivi_recu_2)
      assign(paste("Educacion_",i, sep = ""), df_vivi_recu_3)
}
head(`Educacion_Educación Básica`,5)
##   código    comuna.x.x   universitarios Frecuencia  Año comuna.y.x personas.x
## 1  01101       Iquique Educación Básica      10198 2017       1101     191468
## 2  01107 Alto Hospicio Educación Básica      15670 2017       1107     108375
## 3  01401  Pozo Almonte Educación Básica       2274 2017       1401      15711
## 4  01402        Camiña Educación Básica        221 2017       1402       1250
## 5  01404         Huara Educación Básica        564 2017       1404       2730
##      comuna.x.y promedio_i  año comuna.y.y personas.y Ingresos_expandidos
## 1       Iquique   354820.7 2017       1101     191468         67936815240
## 2 Alto Hospicio   301933.4 2017       1107     108375         32722034397
## 3  Pozo Almonte   285981.8 2017       1401      15711          4493059532
## 4        Camiña   262850.3 2017       1402       1250           328562901
## 5         Huara   253968.5 2017       1404       2730           693334131

Correlacionamos

dat1 <- data.frame(`Educacion_Educación Básica`$Frecuencia, `Educacion_Educación Básica`$Ingresos_expandidos)
chart.Correlation(dat1)

1.2.3 Correlación con cantidad de hombres con un rango de edad 40-50 que habitan vivienda con un tipo de techo Planchas metálicas (zinc, cobre, etc.)

La Casen 2017 pregunta en v6 ¿Cuál es el material que predomina en el techo de la vivienda? una respuesta es: “Planchas metálicas (zinc, cobre, etc.)”

2 Para la variable o combinación de variables que arrojó el mayor coeficiente de correlación obtener la proporción de cada zona dentro de cada comuna.