Abstract
Nuestro objetivo es determinar cuáles variables de la CASEN pueden ser utilizadas para realizar predicciones a nivel de Zona Censal utilizando los datos del Censo 2017. El primer paso será, siempre dentro de la Casen del 2017, calcular las correlaciones entre el ingreso total promedio por comuna multiplicado por la poblacion de la misma, y la frecuencia de categorías específicas de variables tales como educación, calidad de la vivienda y edad. El Coeficiente de Correlación de Pearson es un estadístico paramétrico cuya aplicación es adecuada. Se asume que las variables a correlacionar variables tienen una distribución aproximadamente normal.
Obtenemos el dato de “ingreso promedio anual” según CASEN 2017 (a nivel de comuna).
# leemos la base de datos:
casen_2017 <- readRDS(file = "casen_2017_c.rds")
casen_2017 <- casen_2017[!is.na(casen_2017$ytotcor),]
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")
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 )
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
#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
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
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
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
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
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")
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.
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
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")
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
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
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
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
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)
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.
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)
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)
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
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
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
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
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
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)
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)
La Casen 2017 pregunta en v6 ¿Cuál es el material que predomina en el techo de la vivienda?
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 |