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

VE-CC-AJ

DataIntelligence

Martes 13-07-2021


1 Nivel nacional URBANO (código 1)

1.1 Pregunta P17: Trabajó durante la semana pasada

Categorías de respuesta:

1 Por un pago en dinero o especies
2 Sin pago para un familiar
3 Tenía empleo pero estuvo de vacaciones, con licencia, en descanso laboral, etc.
4 Se encontraba buscando empleo
5 Estaba estudiando
6 Realizó quehaceres de su hogar
7 Es jubilado, pensionado o rentista
8 Otra situación

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

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$P17
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:8){
  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] <- "Por un pago en dinero o especies"
names(comuna_corr)[4] <- "Sin pago para un familiar"
names(comuna_corr)[6] <- "Tenía empleo pero estuvo de vacaciones, con licencia, en descanso laboral, etc."
names(comuna_corr)[8] <- "Se encontraba buscando empleo"
names(comuna_corr)[10] <- "Estaba estudiando"
names(comuna_corr)[12] <- "Realizó quehaceres de su hogar"
names(comuna_corr)[14] <- "Es jubilado, pensionado o rentista"
names(comuna_corr)[16] <- "Otra situación"
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, "P17_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")
Por un pago en dinero o especies Sin pago para un familiar Tenía empleo pero estuvo de vacaciones, con licencia, en descanso laboral, etc. Se encontraba buscando empleo Estaba estudiando Realizó quehaceres de su hogar Es jubilado, pensionado o rentista Otra situación ingresos_expandidos
Min. : 358 Min. : 5.0 Min. : 13.0 Min. : 20 Min. : 53.0 Min. : 66.0 Min. : 26.0 Min. : 21 Min. :7.054e+08
1st Qu.: 2227 1st Qu.: 46.5 1st Qu.: 102.5 1st Qu.: 166 1st Qu.: 401.5 1st Qu.: 613.5 1st Qu.: 508.5 1st Qu.: 172 1st Qu.:2.954e+09
Median : 5254 Median : 100.0 Median : 270.0 Median : 477 Median : 916.0 Median : 1569.0 Median : 1253.0 Median : 454 Median :5.697e+09
Mean : 20773 Mean : 312.3 Mean : 980.5 Mean : 1697 Mean : 4223.4 Mean : 4278.4 Mean : 3930.1 Mean : 1567 Mean :1.784e+10
3rd Qu.: 19135 3rd Qu.: 340.5 3rd Qu.: 948.5 3rd Qu.: 1758 3rd Qu.: 4190.0 3rd Qu.: 5141.5 3rd Qu.: 4016.0 3rd Qu.: 1621 3rd Qu.:1.857e+10
Max. :252452 Max. :3228.0 Max. :12142.0 Max. :19799 Max. :51780.0 Max. :48062.0 Max. :35216.0 Max. :17944 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_P17_URB.rds")

tabla %>%
  rownames_to_column("Trabajó durante la semana pasada") %>%  
  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")
Trabajó durante la semana pasada Correlación
Por un pago en dinero o especies 0.871797549462469
Sin pago para un familiar 0.817329262427436
Tenía empleo pero estuvo de vacaciones, con licencia, en descanso laboral, etc. 0.847738597513123
Se encontraba buscando empleo 0.831552929264084
Estaba estudiando 0.848578504014609
Realizó quehaceres de su hogar 0.820938999717957
Es jubilado, pensionado o rentista 0.796775982051852
Otra situación 0.838104034142408

## Kendall

# union_final_urb <- mutate_all(union_final_urb, ~replace(., is.na(.), -99))
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$P17
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:8){
  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] <- "Por un pago en dinero o especies"
names(comuna_corr)[4] <- "Sin pago para un familiar"
names(comuna_corr)[6] <- "Tenía empleo pero estuvo de vacaciones, con licencia, en descanso laboral, etc."
names(comuna_corr)[8] <- "Se encontraba buscando empleo"
names(comuna_corr)[10] <- "Estaba estudiando"
names(comuna_corr)[12] <- "Realizó quehaceres de su hogar"
names(comuna_corr)[14] <- "Es jubilado, pensionado o rentista"
names(comuna_corr)[16] <- "Otra situación"
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, "P17_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")
Por un pago en dinero o especies Sin pago para un familiar Tenía empleo pero estuvo de vacaciones, con licencia, en descanso laboral, etc. Se encontraba buscando empleo Estaba estudiando Realizó quehaceres de su hogar Es jubilado, pensionado o rentista Otra situación ingresos_expandidos
Min. : 5.0 Min. : 1.0 Min. : 1.0 Min. : 1.00 Min. : 1.0 Min. : 2.0 Min. : 2.0 Min. : 1.00 Min. :2.792e+08
1st Qu.: 980.5 1st Qu.: 48.0 1st Qu.: 49.0 1st Qu.: 66.75 1st Qu.: 119.5 1st Qu.: 364.5 1st Qu.: 238.8 1st Qu.: 79.75 1st Qu.:1.809e+09
Median : 1807.0 Median :103.0 Median : 91.0 Median : 131.00 Median : 272.5 Median : 847.0 Median : 558.0 Median : 161.00 Median :3.546e+09
Mean : 2489.9 Mean :149.8 Mean : 150.6 Mean : 177.86 Mean : 399.7 Mean :1064.1 Mean : 673.9 Mean : 226.15 Mean :8.206e+09
3rd Qu.: 3230.5 3rd Qu.:200.5 3rd Qu.: 161.0 3rd Qu.: 235.25 3rd Qu.: 502.0 3rd Qu.:1452.5 3rd Qu.: 942.2 3rd Qu.: 276.00 3rd Qu.:7.252e+09
Max. :18104.0 Max. :878.0 Max. :2997.0 Max. :1691.00 Max. :3595.0 Max. :8401.0 Max. :5286.0 Max. :2340.00 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

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_P17_RU.rds")
tabla %>%
  rownames_to_column("Trabajó durante la semana pasada") %>%  
  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")
Trabajó durante la semana pasada Correlación
Por un pago en dinero o especies 0.435955887113918
Sin pago para un familiar 0.0635645797121366
Tenía empleo pero estuvo de vacaciones, con licencia, en descanso laboral, etc. 0.393349264992978
Se encontraba buscando empleo 0.331860572298933
Estaba estudiando 0.412001272952164
Realizó quehaceres de su hogar 0.221577961097206
Es jubilado, pensionado o rentista 0.212580897255252
Otra situación 0.365113948289581
# union_final_urb <- mutate_all(union_final_urb, ~replace(., is.na(.), -99))

4.1 Kendall

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

4.2 Pearson

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

4.3 Spearman

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