1.1 Ingresos promedio por comuna

Obtenemos el dato de “ingreso promedio anual” según CASEN 2017 (a nivel de comuna).

1.1.1 Leemos la base de datos:

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

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

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

1.1.3 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")

1.1.4 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 )

1.1.5 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

1.1.6 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

1.1.7 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

1.1.8 Agreguemos una columna con la variable de ingresos ponderada por poblacion. Para ello contamos las frecuencias de los registros por comuna en el Censo del 2017.

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

1.1.9 Agregamos un cero antes de cada codigo comunal para poder hacer el merge posteriormente con la tabla de frecuencias.

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

1.1.10 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

1.1.11 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
saveRDS(df_2017_2, "ingresos_expandidos_17.rds")

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 frecuencia de respuesta para cada categoría.

indmat

  1. 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
  1. Renombramos columnas y agregamos los códigos 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")
  1. 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
  1. 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
  1. 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
  1. 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
  1. La unimos a la tabla de ingresos.
df_vivi_recu_final_3 = merge( x = df_vivi_recu_final, y = df_2017_2, by = "código", all.x = TRUE)
head(df_vivi_recu_final_3,5)
##   código    comuna.x.x promedio_i.x año.x    comuna.y.x               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.x.y promedio_i.y año.y comuna.y.y personas
## 1      11372 2017       Iquique     354820.7  2017       1101   191468
## 2      13232 2017 Alto Hospicio     301933.4  2017       1107   108375
## 3       2191 2017  Pozo Almonte     285981.8  2017       1401    15711
## 4        213 2017        Camiña     262850.3  2017       1402     1250
## 5        825 2017         Huara     253968.5  2017       1404     2730
##   Ingresos_expandidos
## 1         67936815240
## 2         32722034397
## 3          4493059532
## 4           328562901
## 5           693334131
# 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)
  1. Correlacionamos
dat1 <- data.frame(df_vivi_recu_final_3$Frecuencia, df_vivi_recu_final_3$Ingresos_expandidos)
chart.Correlation(dat1)

Mientras mayor sea la cantidad de personas que declaran vivir en una vivienda cuyo índice de materialidad sea “recuperable” en una comuna, mayor es el ingreso promedio en la misma.

Automatización

Despleguemos los primeros 5 registros de nuestro dataset de frecuencias original.

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

     # print(df_vivi_recu_2)
      assign(paste("Educacion_",i, sep = ""), df_vivi_recu_3)
}
# 1
head(`Educacion_Educación Básica`,5)
##   código        comuna   universitarios Frecuencia  Año      comuna.x
## 1  01101       Iquique Educación Básica      10198 2017       Iquique
## 2  01107 Alto Hospicio Educación Básica      15670 2017 Alto Hospicio
## 3  01401  Pozo Almonte Educación Básica       2274 2017  Pozo Almonte
## 4  01402        Camiña Educación Básica        221 2017        Camiña
## 5  01404         Huara Educación Básica        564 2017         Huara
##   promedio_i  año comuna.y personas Ingresos_expandidos
## 1   354820.7 2017     1101   191468         67936815240
## 2   301933.4 2017     1107   108375         32722034397
## 3   285981.8 2017     1401    15711          4493059532
## 4   262850.3 2017     1402     1250           328562901
## 5   253968.5 2017     1404     2730           693334131
# #2
# `Educacion_Educación Especial (Diferencial)`
# #3
# `Educacion_Educación Media Científico-Humanista`
# #4
# `Educacion_Educación Media Técnica Profesional`
# #5
# `Educacion_Humanidades (Sistema Antiguo)`
# #6
# `Educacion_Jardín Infantil (Medio menor y Medio mayor)`
# `Educacion_No sabe/no responde`
# `Educacion_Nunca asistió`
# `Educacion_Postgrado Completo`
# `Educacion_Postgrado Incompleto`
# `Educacion_Prekinder/Kinder (Transición menor y Transición Mayor)`
# `Educacion_Primaria o Preparatoria (Sistema antiguo)`
# `Educacion_Profesional Completo (Carreras 4 o más años)`
# `Educacion_Profesional Incompleto (Carreras 4  o más años)`
# `Educacion_Sala cuna`
# `Educacion_Técnica, Comercial, Industrial o Normalista (Sistema Antiguo`
# `Educacion_Técnico Nivel Superior Completo (Carreras 1 a 3 años)`
# `Educacion_Técnico Nivel Superior Incompleto (Carreras 1 a 3 años)`

Correlacionamos

1 Educación Básica

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

2 Educación Especial (Diferencial)

dat1 <- data.frame(`Educacion_Educación Especial (Diferencial)`$Frecuencia, `Educacion_Educación Especial (Diferencial)`$Ingresos_expandidos)
chart.Correlation(dat1)

3 Educación Media Científico-Humanista

dat1 <- data.frame(`Educacion_Educación Media Científico-Humanista`$Frecuencia, `Educacion_Educación Media Científico-Humanista`$Ingresos_expandidos)
chart.Correlation(dat1)

4 Educación Media Técnica Profesional

dat1 <- data.frame(`Educacion_Educación Media Técnica Profesional`$Frecuencia, `Educacion_Educación Media Técnica Profesional`$Ingresos_expandidos)
chart.Correlation(dat1)

5 Humanidades (Sistema Antiguo)

dat1 <- data.frame(`Educacion_Humanidades (Sistema Antiguo)`$Frecuencia, `Educacion_Humanidades (Sistema Antiguo)`$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 específico.

La Casen 2017 pregunta en v6 ¿Cuál es el material que predomina en el techo de la vivienda?




2 Del censo, obtener la cantidad de población a nivel de zona y estimar la proporción.

library("rio")
x <- import("Microdato_Censo2017-Personas.csv")
#unique(x$COMUNA)

codigos <- x$COMUNA

rango <- seq(1:nrow(x))

cadena<- paste("0",codigos[rango], sep = "")

cadena <- substr(cadena,(nchar(cadena)[rango])-(4),6)
codigos <- as.data.frame(codigos)
cadena <- as.data.frame(cadena)
comuna_corr <- cbind(codigos,cadena)

codigos <- x$DC

rango <- seq(1:nrow(x))

cadena <- paste("0",codigos[rango], sep = "")

cadena <- substr(cadena,(nchar(cadena)[rango])-(1),(nchar(cadena)[rango]))

codigos <- as.data.frame(codigos)
cadena <- as.data.frame(cadena)
dc <- cbind(codigos,cadena)



codigos <- x$ZC_LOC
rango <- seq(1:nrow(x))
cadena<- paste("00",codigos[rango], sep = "")
cadena <- substr(cadena,(nchar(cadena)[rango])-(2),nchar(cadena)[rango])
codigos <- as.data.frame(codigos)
cadena <- as.data.frame(cadena)
cadena_c <- cbind(codigos,cadena)


#head(unique(cadena_c$cadena),50)

x$clave <- paste(x$COMUNA, dc$cadena, x$AREA,  cadena_c$cadena, sep="")

# saveRDS(x, "censo_personas_con_clave_17.rds")
# 
# tablamadre <- head(x,50)
# 
# kbl(tablamadre) %>%
#   kable_styling(bootstrap_options = c("striped", "hover")) %>%
#   kable_paper() %>%
#   scroll_box(width = "100%", height = "300px")
# tabla_con_clave <- readRDS("censo_personas_con_clave_17.rds")
head(x,5)
##   REGION PROVINCIA COMUNA DC AREA ZC_LOC ID_ZONA_LOC NVIV NHOGAR PERSONAN P07
## 1     15       152  15202  1    2      6       13225    1      1        1   1
## 2     15       152  15202  1    2      6       13225    3      1        1   1
## 3     15       152  15202  1    2      6       13225    3      1        2   2
## 4     15       152  15202  1    2      6       13225    3      1        3   5
## 5     15       152  15202  1    2      6       13225    3      1        4  11
##   P08 P09 P10 P10COMUNA P10PAIS P11 P11COMUNA P11PAIS P12 P12COMUNA P12PAIS
## 1   1  73   1        98     998   3     15101     998   1        98     998
## 2   1  78   1        98     998   2        98     998   1        98     998
## 3   2  78   1        98     998   2        98     998   1        98     998
## 4   2  52   1        98     998   2        98     998   1        98     998
## 5   1  44   1        98     998   2        98     998   1        98     998
##   P12A_LLEGADA P12A_TRAMO P13 P14 P15 P15A P16 P16A P16A_OTRO P17 P18 P19 P20
## 1         9998         98   2   4   6    2   1    2        98   7  98  98  98
## 2         9998         98   3  98  98   98   1    2        98   7  98  98  98
## 3         9998         98   3  98  98   98   1    2        98   7  98   1   1
## 4         9998         98   1   2   5    2   1    2        98   7  98   2   1
## 5         9998         98   1   3   5    2   1    2        98   1   Z  98  98
##   P21M P21A P10PAIS_GRUPO P11PAIS_GRUPO P12PAIS_GRUPO ESCOLARIDAD P16A_GRUPO
## 1   98 9998           998           998           998           4          2
## 2   98 9998           998           998           998           0          2
## 3    3 1965           998           998           998           0          2
## 4    4 1995           998           998           998           2          2
## 5   98 9998           998           998           998           3          2
##   REGION_15R PROVINCIA_15R COMUNA_15R P10COMUNA_15R P11COMUNA_15R P12COMUNA_15R
## 1         15           152      15202            98         15101            98
## 2         15           152      15202            98            98            98
## 3         15           152      15202            98            98            98
## 4         15           152      15202            98            98            98
## 5         15           152      15202            98            98            98
##         clave
## 1 15202012006
## 2 15202012006
## 3 15202012006
## 4 15202012006
## 5 15202012006
# r <- filter(x, x$COMUNA == 15202)
# 
# r2 <-table(r$clave)
# r2
r3 <-table(x$COMUNA, as.numeric(x$clave))
r3 <- as.data.frame(r3)
r3 <- r3[!(r3$Freq == 0),]
r3_100 <- r3[c(1:100),]

kbl(r3_100) %>%
  kable_styling(bootstrap_options = c("striped", "hover")) %>%
  kable_paper() %>%
  scroll_box(width = "100%", height = "300px")
Var1 Var2 Freq
1 1101 1101011001 2491
347 1101 1101011002 1475
693 1101 1101021001 1003
1039 1101 1101021002 54
1385 1101 1101021003 2895
1731 1101 1101021004 2398
2077 1101 1101021005 4525
2423 1101 1101031001 2725
2769 1101 1101031002 3554
3115 1101 1101031003 5246
3461 1101 1101031004 3389
3807 1101 1101041001 1800
4153 1101 1101041002 2538
4499 1101 1101041003 3855
4845 1101 1101041004 5663
5191 1101 1101041005 4162
5537 1101 1101041006 2689
5883 1101 1101051001 3296
6229 1101 1101051002 4465
6575 1101 1101051003 4656
6921 1101 1101051004 2097
7267 1101 1101051005 3569
7613 1101 1101051006 2741
7959 1101 1101061001 1625
8305 1101 1101061002 4767
8651 1101 1101061003 4826
8997 1101 1101061004 4077
9343 1101 1101061005 2166
9689 1101 1101071001 2324
10035 1101 1101071002 2801
10381 1101 1101071003 3829
10727 1101 1101071004 1987
11073 1101 1101081001 5133
11419 1101 1101081002 3233
11765 1101 1101081003 2122
12111 1101 1101081004 2392
12457 1101 1101092001 57
12803 1101 1101092004 247
13149 1101 1101092005 76
13495 1101 1101092006 603
13841 1101 1101092007 84
14187 1101 1101092010 398
14533 1101 1101092012 58
14879 1101 1101092014 23
15225 1101 1101092016 20
15571 1101 1101092017 8
15917 1101 1101092018 74
16263 1101 1101092019 25
16609 1101 1101092021 177
16955 1101 1101092022 23
17301 1101 1101092023 288
17647 1101 1101092024 14
17993 1101 1101092901 30
18339 1101 1101101001 2672
18685 1101 1101101002 4398
19031 1101 1101101003 4524
19377 1101 1101101004 3544
19723 1101 1101101005 4911
20069 1101 1101101006 3688
20415 1101 1101111001 3886
20761 1101 1101111002 2312
21107 1101 1101111003 4874
21453 1101 1101111004 4543
21799 1101 1101111005 4331
22145 1101 1101111006 3253
22491 1101 1101111007 4639
22837 1101 1101111008 4881
23183 1101 1101111009 5006
23529 1101 1101111010 366
23875 1101 1101111011 4351
24221 1101 1101111012 2926
24567 1101 1101111013 3390
24913 1101 1101111014 2940
25259 1101 1101112003 33
25605 1101 1101112013 104
25951 1101 1101112019 34
26297 1101 1101112025 21
26643 1101 1101112901 6
26989 1101 1101991999 1062
27336 1107 1107011001 4104
27682 1107 1107011002 4360
28028 1107 1107011003 8549
28374 1107 1107012003 3
28720 1107 1107012901 17
29066 1107 1107021001 6701
29412 1107 1107021002 3971
29758 1107 1107021003 6349
30104 1107 1107021004 5125
30450 1107 1107021005 4451
30796 1107 1107021006 3864
31142 1107 1107021007 5235
31488 1107 1107021008 4566
31834 1107 1107031001 4195
32180 1107 1107031002 7099
32526 1107 1107031003 4720
32872 1107 1107032005 38
33218 1107 1107032006 2399
33564 1107 1107032008 4
33910 1107 1107041001 3630
34256 1107 1107041002 5358