Correlaciones entre variables del CENSO de Viviendas, Hogares y Personas e Ingresos promedios comunales de la CASEN 2017.

VE-CC-AJ

DataIntelligence

Lunes 12-07-2021


1 Nivel nacional URBANO (código 1)

1.1 Pregunta P07: Relación de parentesco

Categorías de respuesta:

1 Jefe/a de hogar
2 Esposo/a o cónyuge
3 Conviviente por unión civil
4 Conviviente de hecho o pareja
5 Hijo/a
6 Hijo/a del cónyuge, conviviente o pareja
7 Hermano/a
8 Padre/madre
9 Cuñado/a
10 Suegro/a
11 Yerno/nuera
12 Nieto/a
13 Abuelo/a30
14 Otro pariente
15 No pariente
16 Servicio doméstico puertas adentro
17 Persona en vivienda colectiva
18 Persona en tránsito
19 Persona en operativo calle

1.2 Generación de tabla de contingencia para la variable P07

tabla_con_clave <- readRDS("censos/censo_personas_con_clave_17")
tabla_con_clave_u <- filter(tabla_con_clave, tabla_con_clave$AREA == 1)
b <- tabla_con_clave_u$COMUNA
c <- tabla_con_clave_u$P07
cross_tab =  xtabs( ~ unlist(b) + unlist(c))
tabla <- as.data.frame(cross_tab)
d <-tabla[!(tabla$Freq == 0),]
d$anio <- "2017"

d_t <- filter(d,d$unlist.c. == 1)
for(i in 2:19){
  d_i <- filter(d,d$unlist.c. == i)
  d_t = merge( x = d_t, y = d_i, by = "unlist.b.", all.x = TRUE)
}
codigos <- d_t$unlist.b.
rango <- seq(1:nrow(d_t))
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(d_t,cadena)
comuna_corr <- comuna_corr[,-c(1),drop=FALSE] 
names(comuna_corr)[ncol(comuna_corr)] <- "código"
quitar <- seq(3,(ncol(comuna_corr)-1),3)
comuna_corr <- comuna_corr[,-c(quitar),drop=FALSE]
names(comuna_corr)[2] <- "Jefe/a de hogar"
names(comuna_corr)[4] <- "Esposo/a o cónyuge"
names(comuna_corr)[6] <- "Conviviente por unión civil"
names(comuna_corr)[8] <- "Conviviente de hecho o pareja"
names(comuna_corr)[10] <- "Hijo/a"
names(comuna_corr)[12] <- "Hijo/a del cónyuge, conviviente o pareja"
names(comuna_corr)[14] <- "Hermano/a"
names(comuna_corr)[16] <- "Padre/madre"
names(comuna_corr)[18] <- "Cuñado/a"
names(comuna_corr)[20] <- "Suegro/a"
names(comuna_corr)[22] <- "Yerno/nuera"
names(comuna_corr)[24] <- "Nieto/a"
names(comuna_corr)[26] <- "Abuelo/a30"
names(comuna_corr)[28] <- "Otro pariente"
names(comuna_corr)[30] <- "No pariente"
names(comuna_corr)[32] <- "Servicio doméstico puertas adentro"
names(comuna_corr)[34] <- "Persona en vivienda colectiva"
names(comuna_corr)[36] <- "Persona en tránsito"
names(comuna_corr)[38] <- "Persona en operativo calle"
quitar <- seq(1,(ncol(comuna_corr)-1),2)
comuna_corr <- comuna_corr[,-c(quitar),drop=FALSE]
ingresos_expandidos_2017 <- readRDS("Ingresos_expandidos_urbano_17.rds")
df_2017_2 = merge( x = comuna_corr, y = ingresos_expandidos_2017, by = "código", all.x = TRUE)
union_final_urb <- df_2017_2[,-c(1,(ncol(df_2017_2)-1))]
write_xlsx(union_final_urb, "P07_urbano.xlsx")
data_sum <- summary(union_final_urb)
kbl(head(data_sum)) %>%
  kable_styling(bootstrap_options = c("striped", "hover")) %>%
  kable_paper() %>%
  scroll_box(width = "100%", height = "500px")
Jefe/a de hogar Esposo/a o cónyuge Conviviente por unión civil Conviviente de hecho o pareja Hijo/a Hijo/a del cónyuge, conviviente o pareja Hermano/a Padre/madre Cuñado/a Suegro/a Yerno/nuera Nieto/a Abuelo/a30 Otro pariente No pariente Servicio doméstico puertas adentro Persona en vivienda colectiva Persona en tránsito Persona en operativo calle ingresos_expandidos
Min. : 320 Min. : 68.0 Min. : 2.0 Min. : 23 Min. : 220 Min. : 6.0 Min. : 3.0 Min. : 1.0 Min. : 1.0 Min. : 1.0 Min. : 3.0 Min. : 19.0 Min. : 1.00 Min. : 16.0 Min. : 18.0 Min. : 1.00 Min. : 1.0 Min. : 1.0 Min. : 1.00 Min. :7.054e+08
1st Qu.: 1842 1st Qu.: 694.5 1st Qu.: 17.0 1st Qu.: 233 1st Qu.: 1698 1st Qu.: 63.5 1st Qu.: 65.5 1st Qu.: 45.0 1st Qu.: 20.5 1st Qu.: 19.0 1st Qu.: 63.5 1st Qu.: 295.5 1st Qu.: 4.00 1st Qu.: 158.5 1st Qu.: 79.0 1st Qu.: 2.00 1st Qu.: 48.0 1st Qu.: 11.0 1st Qu.: 4.00 1st Qu.:2.954e+09
Median : 4522 Median : 1774.0 Median : 49.0 Median : 564 Median : 4089 Median : 166.0 Median : 162.0 Median : 121.0 Median : 51.0 Median : 53.0 Median : 183.0 Median : 827.0 Median : 10.00 Median : 412.0 Median : 205.0 Median : 7.00 Median : 138.5 Median : 46.0 Median : 15.00 Median :5.697e+09
Mean : 15524 Mean : 6260.9 Mean : 144.5 Mean : 2038 Mean : 15423 Mean : 555.0 Mean : 677.2 Mean : 554.3 Mean : 215.3 Mean : 225.6 Mean : 670.1 Mean : 2731.1 Mean : 35.13 Mean : 1555.9 Mean : 942.2 Mean : 88.27 Mean : 638.0 Mean : 274.9 Mean : 46.86 Mean :1.784e+10
3rd Qu.: 15622 3rd Qu.: 6500.0 3rd Qu.: 150.5 3rd Qu.: 1985 3rd Qu.: 16052 3rd Qu.: 597.0 3rd Qu.: 606.0 3rd Qu.: 486.0 3rd Qu.: 183.5 3rd Qu.: 202.5 3rd Qu.: 601.5 3rd Qu.: 3030.5 3rd Qu.: 34.00 3rd Qu.: 1453.0 3rd Qu.: 751.5 3rd Qu.: 20.50 3rd Qu.: 604.2 3rd Qu.: 142.0 3rd Qu.: 57.00 3rd Qu.:1.857e+10
Max. :173881 Max. :79040.0 Max. :1592.0 Max. :32521 Max. :204960 Max. :7075.0 Max. :9745.0 Max. :6795.0 Max. :2944.0 Max. :2995.0 Max. :9735.0 Max. :33873.0 Max. :388.00 Max. :17054.0 Max. :22270.0 Max. :5542.00 Max. :17252.0 Max. :5912.0 Max. :730.00 Max. :1.870e+11

Graficas:

library(plotly)

df_2017_fig <- df_2017_2[,-c((ncol(df_2017_2)-1))]

fig <- plot_ly(df_2017_fig, x = df_2017_fig$código, y = df_2017_fig[,2]
, name = colnames(df_2017_fig[2]), type = 'scatter', mode = 'lines',
                 width=7000, height=400) 

grafica_fn <- function(g){
  fig <<- fig %>% add_trace(y = ~df_2017_fig[,g]
, name = colnames(df_2017_fig[g]), mode = 'lines',
                 width=7000, height=400) 
}
for (g in 3:(ncol(df_2017_2)-1)) {
grafica_fn(g)

}

fig <- fig %>% layout(autosize = T )
fig 

2 Correlaciones

La distribución es asimétrica, poseyendo un sesgo positivo.

df_2017_2f <- filter(union_final_urb, union_final_urb$ingresos_expandidos != 'is.na')
III <- seq(1,(ncol(df_2017_2f)-1),1)
my_data <- df_2017_2f[, c(III)]
tabla <- cor(x=my_data, y=df_2017_2f$ingresos_expandidos, method=c("kendall"), use = "pairwise")
tabla <- as.data.frame(tabla)
tabla <- tabla %>% drop_na()
colnames(tabla) <- "Correlación" 
saveRDS(tabla,"tablas_de_corr/C_P07_URB.rds")
tabla %>%
  rownames_to_column("Relación de parentesco") %>%  
  mutate(Correlación = cell_spec(Correlación, background=ifelse(Correlación == max(Correlación), "#fc0303", "#5cb81f"))) %>% 
  kbl(booktabs = T, linesep = "", escape=FALSE) %>% 
    kable_paper(full_width = F) %>%
    column_spec(1, color = "black")%>%
    column_spec(2, color = "white")
Relación de parentesco Correlación
Jefe/a de hogar 0.860283755002406
Esposo/a o cónyuge 0.853297977483839
Conviviente por unión civil 0.801923870928766
Conviviente de hecho o pareja 0.848827888789141
Hijo/a 0.861626160547891
Hijo/a del cónyuge, conviviente o pareja 0.845737794056346
Hermano/a 0.840895642125321
Padre/madre 0.845631829752046
Cuñado/a 0.838041054406298
Suegro/a 0.83689146833311
Yerno/nuera 0.826335646625109
Nieto/a 0.821491597406134
Abuelo/a30 0.780571547676597
Otro pariente 0.841821700561799
No pariente 0.824302621919395
Servicio doméstico puertas adentro 0.666274165744913
Persona en vivienda colectiva 0.58231868075725
Persona en tránsito 0.212529508369105
Persona en operativo calle 0.594713220367732

## Kendall

chart.Correlation(union_final_urb, histogram=TRUE, method = c( "kendall"), pch=20)

2.1 Pearson

chart.Correlation(union_final_urb, histogram=TRUE, method = c( "pearson"), pch=20)

2.2 Spearman

chart.Correlation(union_final_urb, histogram=TRUE, method = c( "spearman"), pch=20)

3 Nivel nacional RURAL (código 2)

tabla_con_clave <- readRDS("censos/censo_personas_con_clave_17")
tabla_con_clave_u <- filter(tabla_con_clave, tabla_con_clave$AREA == 2)
b <- tabla_con_clave_u$COMUNA
c <- tabla_con_clave_u$P07
cross_tab =  xtabs( ~ unlist(b) + unlist(c))
tabla <- as.data.frame(cross_tab)
d <-tabla[!(tabla$Freq == 0),]
d$anio <- "2017"

d_t <- filter(d,d$unlist.c. == 1)
for(i in 2:19){
  d_i <- filter(d,d$unlist.c. == i)
  d_t = merge( x = d_t, y = d_i, by = "unlist.b.", all.x = TRUE)
}
codigos <- d_t$unlist.b.
rango <- seq(1:nrow(d_t))
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(d_t,cadena)
comuna_corr <- comuna_corr[,-c(1),drop=FALSE] 
names(comuna_corr)[ncol(comuna_corr)] <- "código"
quitar <- seq(3,(ncol(comuna_corr)-1),3)
comuna_corr <- comuna_corr[,-c(quitar),drop=FALSE]
names(comuna_corr)[2] <- "Jefe/a de hogar"
names(comuna_corr)[4] <- "Esposo/a o cónyuge"
names(comuna_corr)[6] <- "Conviviente por unión civil"
names(comuna_corr)[8] <- "Conviviente de hecho o pareja"
names(comuna_corr)[10] <- "Hijo/a"
names(comuna_corr)[12] <- "Hijo/a del cónyuge, conviviente o pareja"
names(comuna_corr)[14] <- "Hermano/a"
names(comuna_corr)[16] <- "Padre/madre"
names(comuna_corr)[18] <- "Cuñado/a"
names(comuna_corr)[20] <- "Suegro/a"
names(comuna_corr)[22] <- "Yerno/nuera"
names(comuna_corr)[24] <- "Nieto/a"
names(comuna_corr)[26] <- "Abuelo/a30"
names(comuna_corr)[28] <- "Otro pariente"
names(comuna_corr)[30] <- "No pariente"
names(comuna_corr)[32] <- "Servicio doméstico puertas adentro"
names(comuna_corr)[34] <- "Persona en vivienda colectiva"
names(comuna_corr)[36] <- "Persona en tránsito"
names(comuna_corr)[38] <- "Persona en operativo calle"
quitar <- seq(1,(ncol(comuna_corr)-1),2)
comuna_corr <- comuna_corr[,-c(quitar),drop=FALSE]
ingresos_expandidos_2017 <- readRDS("Ingresos_expandidos_rural_17.rds")
df_2017_2 = merge( x = comuna_corr, y = ingresos_expandidos_2017, by = "código", all.x = TRUE)
union_final_urb <- df_2017_2[,-c(1,(ncol(df_2017_2)-1))]
write_xlsx(union_final_urb, "P07_rural.xlsx")
data_sum <- summary(union_final_urb)
kbl(head(data_sum)) %>%
  kable_styling(bootstrap_options = c("striped", "hover")) %>%
  kable_paper() %>%
  scroll_box(width = "100%", height = "500px")
Jefe/a de hogar Esposo/a o cónyuge Conviviente por unión civil Conviviente de hecho o pareja Hijo/a Hijo/a del cónyuge, conviviente o pareja Hermano/a Padre/madre Cuñado/a Suegro/a Yerno/nuera Nieto/a Abuelo/a30 Otro pariente No pariente Servicio doméstico puertas adentro Persona en vivienda colectiva Persona en tránsito Persona en operativo calle ingresos_expandidos
Min. : 3.0 Min. : 1 Min. : 1.00 Min. : 1.0 Min. : 4.0 Min. : 1.00 Min. : 1.0 Min. : 1.00 Min. : 1.00 Min. : 1.0 Min. : 1.00 Min. : 1.0 Min. : 1.0 Min. : 2.00 Min. : 1.0 Min. : 1.00 Min. : 1.0 Min. : 9.0 Min. : NA Min. :2.792e+08
1st Qu.: 883.5 1st Qu.: 359 1st Qu.: 8.25 1st Qu.: 101.0 1st Qu.: 697.5 1st Qu.: 27.50 1st Qu.: 32.0 1st Qu.: 21.00 1st Qu.: 11.25 1st Qu.: 11.0 1st Qu.: 31.00 1st Qu.: 123.5 1st Qu.: 2.0 1st Qu.: 75.75 1st Qu.: 48.0 1st Qu.: 2.00 1st Qu.: 19.0 1st Qu.: 14.0 1st Qu.: NA 1st Qu.:1.809e+09
Median : 1750.0 Median : 779 Median : 18.00 Median : 193.5 Median : 1468.0 Median : 55.00 Median : 71.0 Median : 40.00 Median : 21.00 Median : 22.0 Median : 66.00 Median : 267.5 Median : 3.0 Median : 145.00 Median : 81.5 Median : 5.00 Median : 52.0 Median : 19.0 Median : NA Median :3.546e+09
Mean : 2192.3 Mean :1031 Mean : 24.02 Mean : 251.6 Mean : 1974.7 Mean : 75.32 Mean : 87.7 Mean : 54.13 Mean : 28.19 Mean : 30.6 Mean : 89.31 Mean : 357.4 Mean : 4.2 Mean : 193.70 Mean :103.1 Mean : 11.92 Mean : 279.5 Mean :123.7 Mean :NaN Mean :8.206e+09
3rd Qu.: 2978.5 3rd Qu.:1412 3rd Qu.: 30.00 3rd Qu.: 331.0 3rd Qu.: 2618.0 3rd Qu.:102.50 3rd Qu.:119.0 3rd Qu.: 72.00 3rd Qu.: 38.75 3rd Qu.: 38.0 3rd Qu.:115.00 3rd Qu.: 471.8 3rd Qu.: 5.0 3rd Qu.: 253.50 3rd Qu.:132.0 3rd Qu.: 9.00 3rd Qu.: 158.5 3rd Qu.:181.0 3rd Qu.: NA 3rd Qu.:7.252e+09
Max. :16405.0 Max. :8618 Max. :141.00 Max. :1876.0 Max. :16468.0 Max. :603.00 Max. :571.0 Max. :374.00 Max. :195.00 Max. :286.0 Max. :681.00 Max. :2759.0 Max. :26.0 Max. :1281.00 Max. :603.0 Max. :723.00 Max. :9038.0 Max. :343.0 Max. : NA Max. :7.585e+10

Graficas:

library(plotly)

df_2017_fig <- df_2017_2[,-c((ncol(df_2017_2)-1))]
df_2017_fig <- df_2017_fig[,-c(19,20)]
fig <- plot_ly(df_2017_fig, x = df_2017_fig$código, y = df_2017_fig[,2]
, name = colnames(df_2017_fig[2]), type = 'scatter', mode = 'lines',
                 width=7000, height=400) 

grafica_fn <- function(g){
  fig <<- fig %>% add_trace(y = ~df_2017_fig[,g]
, name = colnames(df_2017_fig[g]), mode = 'lines',
                 width=7000, height=400) 
}
for (g in 3:(ncol(df_2017_2)-3)) {
grafica_fn(g)

}

fig <- fig %>% layout(autosize = T)
fig 

4 Correlaciones

La distribución es asimétrica, poseyendo un sesgo positivo.

4.1 Kendall

df_2017_2f <- filter(union_final_urb, union_final_urb$ingresos_expandidos != 'is.na')
III <- seq(1,(ncol(df_2017_2f)-1),1)
my_data <- df_2017_2f[, c(III)]
tabla <- cor(x=my_data, y=df_2017_2f$ingresos_expandidos, method=c("kendall"), use = "pairwise")
tabla <- as.data.frame(tabla)
tabla <- tabla %>% drop_na()
colnames(tabla) <- "Correlación" 
saveRDS(tabla,"tablas_de_corr/C_P07_RU.rds")
tabla %>%
  rownames_to_column("Relación de parentesco") %>%  
  mutate(Correlación = cell_spec(Correlación, background=ifelse(Correlación == max(Correlación), "#fc0303", "#5cb81f"))) %>% 
  kbl(booktabs = T, linesep = "", escape=FALSE) %>% 
    kable_paper(full_width = F) %>%
    column_spec(1, color = "black")%>%
    column_spec(2, color = "white")
Relación de parentesco Correlación
Jefe/a de hogar 0.323973174745707
Esposo/a o cónyuge 0.350311683205216
Conviviente por unión civil 0.274117516631196
Conviviente de hecho o pareja 0.357589496945823
Hijo/a 0.361715024715906
Hijo/a del cónyuge, conviviente o pareja 0.383518263275182
Hermano/a 0.240624029062988
Padre/madre 0.354628416800694
Cuñado/a 0.337168569765771
Suegro/a 0.407389378826673
Yerno/nuera 0.355916545599383
Nieto/a 0.305495916305718
Abuelo/a30 0.313802175310212
Otro pariente 0.322291537526015
No pariente 0.356338262074663
Servicio doméstico puertas adentro 0.356745171317502
Persona en vivienda colectiva 0.204487603094619
III <- seq(1,(ncol(union_final_urb)-3),1)
df_2017_exp_subset <- union_final_urb[,c(III,(ncol(union_final_urb)))]
chart.Correlation(df_2017_exp_subset, histogram=TRUE, method = c( "kendall"), pch=20)

4.2 Pearson

III <- seq(1,(ncol(union_final_urb)-3),1)
df_2017_exp_subset <- union_final_urb[,c(III,(ncol(union_final_urb)))]
chart.Correlation(df_2017_exp_subset, histogram=TRUE, method = c( "pearson"), pch=20)

4.3 Spearman

III <- seq(1,(ncol(union_final_urb)-3),1)
df_2017_exp_subset <- union_final_urb[,c(III,(ncol(union_final_urb)))]
chart.Correlation(df_2017_exp_subset, histogram=TRUE, method = c( "spearman"), pch=20)