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 P19: Total hijos/as nacidos vivos

1.2 Las categorías de respuesta:

1 (0-23)

1.3 Generación de tabla de contingencia para la variable P19

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$P19
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. == 0)
for(i in 1:23){
  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]
III <- seq(2,48,2)
 
for (i in 1:100) {
      names(comuna_corr)[III[i]] <- paste0(i-1, "_hijos/as")
}
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, "P19_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")
0_hijos/as 1_hijos/as 2_hijos/as 3_hijos/as 4_hijos/as 5_hijos/as 6_hijos/as 7_hijos/as 8_hijos/as 9_hijos/as 10_hijos/as 11_hijos/as 12_hijos/as 13_hijos/as 14_hijos/as 15_hijos/as 16_hijos/as 17_hijos/as 18_hijos/as 19_hijos/as 20_hijos/as 21_hijos/as 22_hijos/as 23_hijos/as ingresos_expandidos
Min. : 59.0 Min. : 62 Min. : 67 Min. : 52.0 Min. : 27.0 Min. : 7.0 Min. : 3.0 Min. : 2.0 Min. : 2.00 Min. : 1.0 Min. : 1.00 Min. : 1.00 Min. : 1.00 Min. : 1.000 Min. : 1.000 Min. : 1.000 Min. : 1.000 Min. :1.00 Min. :1.000 Min. :1.000 Min. : 1.000 Min. :1.000 Min. :1.00 Min. :1.000 Min. :7.054e+08
1st Qu.: 410.5 1st Qu.: 418 1st Qu.: 513 1st Qu.: 367.5 1st Qu.: 173.5 1st Qu.: 84.0 1st Qu.: 46.5 1st Qu.: 28.0 1st Qu.: 19.00 1st Qu.: 13.0 1st Qu.: 8.00 1st Qu.: 6.00 1st Qu.: 4.00 1st Qu.: 2.000 1st Qu.: 2.000 1st Qu.: 1.000 1st Qu.: 1.000 1st Qu.:1.00 1st Qu.:1.000 1st Qu.:1.000 1st Qu.: 1.000 1st Qu.:1.000 1st Qu.:1.00 1st Qu.:1.000 1st Qu.:2.954e+09
Median : 988.0 Median : 1016 Median : 1312 Median : 912.0 Median : 438.0 Median : 218.0 Median : 108.0 Median : 65.0 Median : 39.00 Median : 31.0 Median : 18.00 Median : 12.00 Median :10.00 Median : 5.000 Median : 4.000 Median : 2.000 Median : 2.000 Median :1.00 Median :1.000 Median :1.000 Median : 1.000 Median :1.000 Median :1.00 Median :1.000 Median :5.697e+09
Mean : 4795.7 Mean : 3716 Mean : 4742 Mean : 3250.8 Mean : 1439.7 Mean : 611.6 Mean : 289.1 Mean : 163.5 Mean : 89.63 Mean : 69.2 Mean : 33.19 Mean : 21.69 Mean :17.31 Mean : 8.545 Mean : 6.044 Mean : 3.378 Mean : 2.373 Mean :1.61 Mean :1.398 Mean :1.304 Mean : 1.469 Mean :1.042 Mean :1.16 Mean :1.154 Mean :1.784e+10
3rd Qu.: 4071.0 3rd Qu.: 3816 3rd Qu.: 4843 3rd Qu.: 3441.5 3rd Qu.: 1575.5 3rd Qu.: 714.0 3rd Qu.: 335.5 3rd Qu.: 187.0 3rd Qu.:103.50 3rd Qu.: 89.0 3rd Qu.: 39.50 3rd Qu.: 28.00 3rd Qu.:23.00 3rd Qu.:12.000 3rd Qu.: 8.000 3rd Qu.: 5.000 3rd Qu.: 3.000 3rd Qu.:2.00 3rd Qu.:2.000 3rd Qu.:2.000 3rd Qu.: 1.000 3rd Qu.:1.000 3rd Qu.:1.00 3rd Qu.:1.000 3rd Qu.:1.857e+10
Max. :79657.0 Max. :43263 Max. :61064 Max. :39132.0 Max. :15675.0 Max. :5810.0 Max. :2495.0 Max. :1220.0 Max. :673.00 Max. :479.0 Max. :202.00 Max. :139.00 Max. :94.00 Max. :50.000 Max. :33.000 Max. :15.000 Max. :10.000 Max. :5.00 Max. :5.000 Max. :3.000 Max. :12.000 Max. :2.000 Max. :2.00 Max. :2.000 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_P19_URB.rds")
tabla %>%
  rownames_to_column("Total hijos/as nacidos vivos") %>%  
  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")
Total hijos/as nacidos vivos Correlación
0_hijos/as 0.863637324892285
1_hijos/as 0.865206323977793
2_hijos/as 0.862658712858027
3_hijos/as 0.852880073280493
4_hijos/as 0.841088540251352
5_hijos/as 0.827593557534961
6_hijos/as 0.8063107469772
7_hijos/as 0.78446453307907
8_hijos/as 0.757845882241486
9_hijos/as 0.750354677507411
10_hijos/as 0.684394436624982
11_hijos/as 0.67408189719666
12_hijos/as 0.655030954769265
13_hijos/as 0.627253568504428
14_hijos/as 0.550108912012257
15_hijos/as 0.505203039620535
16_hijos/as 0.412671671354417
17_hijos/as 0.285160123480234
18_hijos/as 0.334934113419594
19_hijos/as 0.418887080526998
20_hijos/as 0.128195004723576
21_hijos/as -0.238470763360932
22_hijos/as 0.0881917103688197
23_hijos/as 0

2.0.1 Kendall

i <- 1
f <- 10
for (cc in 1:2) {
III <- seq(i,f)
print(paste0(i-1,"-",f-1))
df_2017_2_sub_subset <- union_final_urb[,c(III,ncol(union_final_urb))]
chart.Correlation(df_2017_2_sub_subset, histogram=TRUE, method = c( "kendall"), pch=20)

i <- i+10
f <- f+10
}
## [1] "0-9"

## [1] "10-19"

print("21 - 23")
## [1] "21 - 23"
df_2017_2_sub_subset <- union_final_urb[,c(22:25)]
chart.Correlation(df_2017_2_sub_subset, histogram=TRUE, method = c( "kendall"), pch=20)

2.0.2 Pearson

i <- 1
f <- 10
for (cc in 1:2) {
III <- seq(i,f)
print(paste0(i-1,"-",f-1))
df_2017_2_sub_subset <- union_final_urb[,c(III,ncol(union_final_urb))]
chart.Correlation(df_2017_2_sub_subset, histogram=TRUE, method = c( "kendall"), pch=20)

i <- i+10
f <- f+10
}
## [1] "0-9"

## [1] "10-19"

print("21 - 23")
## [1] "21 - 23"
df_2017_2_sub_subset <- union_final_urb[,c(22:25)]
chart.Correlation(df_2017_2_sub_subset, histogram=TRUE, method = c( "kendall"), pch=20)

2.0.3 Spearman

i <- 1
f <- 10
for (cc in 1:2) {
III <- seq(i,f)
print(paste0(i-1,"-",f-1))
df_2017_2_sub_subset <- union_final_urb[,c(III,ncol(union_final_urb))]
chart.Correlation(df_2017_2_sub_subset, histogram=TRUE, method = c( "kendall"), pch=20)

i <- i+10
f <- f+10
}
## [1] "0-9"

## [1] "10-19"

print("21 - 23")
## [1] "21 - 23"
df_2017_2_sub_subset <- union_final_urb[,c(22:25)]
chart.Correlation(df_2017_2_sub_subset, histogram=TRUE, method = c( "kendall"), 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$P19
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. == 0)
for(i in 1:23){
  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]
III <- seq(2,48,2)
 
for (i in 1:100) {
      names(comuna_corr)[III[i]] <- paste0(i-1, "_hijos/as")
}
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, "P19_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")
0_hijos/as 1_hijos/as 2_hijos/as 3_hijos/as 4_hijos/as 5_hijos/as 6_hijos/as 7_hijos/as 8_hijos/as 9_hijos/as 10_hijos/as 11_hijos/as 12_hijos/as 13_hijos/as 14_hijos/as 15_hijos/as 16_hijos/as 17_hijos/as 18_hijos/as 19_hijos/as 20_hijos/as 21_hijos/as 22_hijos/as 23_hijos/as ingresos_expandidos
Min. : 3.0 Min. : 1.0 Min. : 4.0 Min. : 3.0 Min. : 1.0 Min. : 1.0 Min. : 1.00 Min. : 1.00 Min. : 1.00 Min. : 1.0 Min. : 1.00 Min. : 1.00 Min. : 1.000 Min. : 1.00 Min. : 1.000 Min. : 1.000 Min. :1.000 Min. :1.000 Min. :1.000 Min. :1.000 Min. :1.000 Min. :1 Min. :1 Min. :1 Min. :2.792e+08
1st Qu.: 177.0 1st Qu.: 152.0 1st Qu.: 212.2 1st Qu.: 171.0 1st Qu.: 88.0 1st Qu.: 46.0 1st Qu.: 26.00 1st Qu.: 17.00 1st Qu.: 12.00 1st Qu.: 9.0 1st Qu.: 5.00 1st Qu.: 4.00 1st Qu.: 3.000 1st Qu.: 2.00 1st Qu.: 1.000 1st Qu.: 1.000 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:1 1st Qu.:1 1st Qu.:1 1st Qu.:1.809e+09
Median : 326.0 Median : 322.5 Median : 436.0 Median : 330.0 Median : 183.0 Median : 97.0 Median : 55.00 Median : 34.00 Median : 24.50 Median : 17.0 Median :12.00 Median : 8.50 Median : 7.000 Median : 3.00 Median : 2.000 Median : 1.000 Median :1.000 Median :1.000 Median :1.000 Median :1.000 Median :1.000 Median :1 Median :1 Median :1 Median :3.546e+09
Mean : 446.6 Mean : 427.2 Mean : 579.2 Mean : 438.9 Mean : 226.6 Mean :118.3 Mean : 68.69 Mean : 45.02 Mean : 31.08 Mean : 22.9 Mean :15.67 Mean :10.28 Mean : 8.485 Mean : 4.39 Mean : 3.277 Mean : 2.155 Mean :1.526 Mean :1.227 Mean :1.212 Mean :1.154 Mean :1.182 Mean :1 Mean :1 Mean :1 Mean :8.206e+09
3rd Qu.: 576.5 3rd Qu.: 590.8 3rd Qu.: 773.0 3rd Qu.: 584.0 3rd Qu.: 299.0 3rd Qu.:160.0 3rd Qu.: 92.00 3rd Qu.: 59.50 3rd Qu.: 43.00 3rd Qu.: 29.0 3rd Qu.:21.00 3rd Qu.:13.00 3rd Qu.:11.000 3rd Qu.: 6.00 3rd Qu.: 4.000 3rd Qu.: 3.000 3rd Qu.:2.000 3rd Qu.:1.000 3rd Qu.:1.000 3rd Qu.:1.000 3rd Qu.:1.000 3rd Qu.:1 3rd Qu.:1 3rd Qu.:1 3rd Qu.:7.252e+09
Max. :3646.0 Max. :3244.0 Max. :4362.0 Max. :3727.0 Max. :1834.0 Max. :855.0 Max. :516.00 Max. :332.00 Max. :218.00 Max. :156.0 Max. :83.00 Max. :62.00 Max. :66.000 Max. :33.00 Max. :22.000 Max. :12.000 Max. :6.000 Max. :4.000 Max. :3.000 Max. :2.000 Max. :3.000 Max. :1 Max. :1 Max. :1 Max. :7.585e+10

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 

4 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_P19_RU.rds")
tabla %>%
  rownames_to_column("Total hijos/as nacidos vivos") %>%  
  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")
Total hijos/as nacidos vivos Correlación
0_hijos/as 0.382315765917811
1_hijos/as 0.343678387129653
2_hijos/as 0.369770957735702
3_hijos/as 0.369048298073932
4_hijos/as 0.333021375422105
5_hijos/as 0.261930713749856
6_hijos/as 0.187802399194772
7_hijos/as 0.16153198158601
8_hijos/as 0.139509207623508
9_hijos/as 0.128695101258297
10_hijos/as 0.1154243897769
11_hijos/as 0.106661650417516
12_hijos/as 0.104595572256451
13_hijos/as 0.117140728219076
14_hijos/as 0.142103271097005
15_hijos/as 0.0740260620616363
16_hijos/as 0.0424315593077376
17_hijos/as 0.12340194646771
18_hijos/as -0.205509210126226
19_hijos/as 0.165567470876943
20_hijos/as 0.368329462972638
union_final_urb <- mutate_all(union_final_urb, ~replace(., is.na(.), NA))

4.0.1 Kendall

i <- 1
f <- 10
for (cc in 1:2) {
III <- seq(i,f)
print(paste0(i-1,"-",f-1))
df_2017_2_sub_subset <- union_final_urb[,c(III,ncol(union_final_urb))]
chart.Correlation(df_2017_2_sub_subset, histogram=TRUE, method = c( "kendall"), pch=20)

i <- i+10
f <- f+10
}
## [1] "0-9"

## [1] "10-19"

print("21")
## [1] "21"
df_2017_2_sub_subset <- union_final_urb[,c(22,25)]
chart.Correlation(df_2017_2_sub_subset, histogram=TRUE, method = c( "kendall"), pch=20)

4.0.2 Pearson

i <- 1
f <- 10
for (cc in 1:2) {
III <- seq(i,f)
print(paste0(i-1,"-",f-1))
df_2017_2_sub_subset <- union_final_urb[,c(III,ncol(union_final_urb))]
chart.Correlation(df_2017_2_sub_subset, histogram=TRUE, method = c( "pearson"), pch=20)

i <- i+10
f <- f+10
}
## [1] "0-9"

## [1] "10-19"

print("21")
## [1] "21"
df_2017_2_sub_subset <- union_final_urb[,c(22,25)]
chart.Correlation(df_2017_2_sub_subset, histogram=TRUE, method = c( "pearson"), pch=20)

4.0.3 Spearman

i <- 1
f <- 10
for (cc in 1:2) {
III <- seq(i,f)
print(paste0(i-1,"-",f-1))
df_2017_2_sub_subset <- union_final_urb[,c(III,ncol(union_final_urb))]
chart.Correlation(df_2017_2_sub_subset, histogram=TRUE, method = c( "spearman"), pch=20)

i <- i+10
f <- f+10
}
## [1] "0-9"

## [1] "10-19"

print("21")
## [1] "21"
df_2017_2_sub_subset <- union_final_urb[,c(22,25)]
chart.Correlation(df_2017_2_sub_subset, histogram=TRUE, method = c( "spearman"), pch=20)