Primera Corrección de las ttcc Astrid Casen 2006-2020 o18

o7. En su trabajo principal, ¿tiene contrato de trabajo escrito?.

VE-CC-AJ

DataIntelligence
date: 23-09-2021

1 Introducción

El procedimiento de generación de tablas de contingencia trae problemas si se condideran varias tablas referidas por ejemplo a varios años, cuyas categorías divergen.

Ésta pregunta sólo se comenzó a aplicar en la Casen del 2011 y hasta la versión 2017 contemplaba la posibilidad de que el encuestado respondiera dos razones: r1 y r2.

casen_2006 <- readRDS(file = "C:/Users/enamo/Desktop/Shiny-R/Casen_en_pandemia_2020/casen/casen_2006_c.rds")
casen_2006 <- mutate_if(casen_2006, is.factor, as.character)
casen_2009 <- readRDS(file = "C:/Users/enamo/Desktop/Shiny-R/Casen_en_pandemia_2020/casen/casen_2009_c.rds")
casen_2009 <- mutate_if(casen_2009, is.factor, as.character)
casen_2011 <- readRDS(file = "C:/Users/enamo/Desktop/Shiny-R/Casen_en_pandemia_2020/casen/casen_2011_c.rds")
casen_2011 <- mutate_if(casen_2011, is.factor, as.character)
casen_2013 <- readRDS(file = "C:/Users/enamo/Desktop/Shiny-R/Casen_en_pandemia_2020/casen/casen_2013_c.rds")
casen_2013 <- mutate_if(casen_2013, is.factor, as.character)
casen_2015 <- readRDS(file = "C:/Users/enamo/Desktop/Shiny-R/Casen_en_pandemia_2020/casen/casen_2015_c.rds")
casen_2015 <- mutate_if(casen_2015, is.factor, as.character)
casen_2017 <- readRDS(file = "C:/Users/enamo/Desktop/Shiny-R/Casen_en_pandemia_2020/casen/casen_2017_c.rds")
casen_2017 <- mutate_if(casen_2017, is.factor, as.character)
casen_2020 <- readRDS(file = "C:/Users/enamo/Desktop/Shiny-R/Casen_en_pandemia_2020/casen/casen_2020.rds")
casen_2020 <- mutate_if(casen_2020, is.factor, as.character)

Homologación de alfabetismo

casen_2006$E1[casen_2006$E1 == "No sabe /Sin dato"] <- NA

casen_2011$e1[casen_2011$e1 == "Sí, lee y escribe"] <- "Sí"
casen_2011$e1[casen_2011$e1 == "No, sólo lee"] <- "No"
casen_2011$e1[casen_2011$e1 == "No, ninguno"] <- "No"
casen_2011$e1[casen_2011$e1 == "No, sólo escribe"] <- "No"

casen_2013$e1[casen_2013$e1 == "Sí, lee y escribe"] <- "Sí"
casen_2013$e1[casen_2013$e1 == "No, ninguno"] <- "No"
casen_2013$e1[casen_2013$e1 == "No, sólo lee"] <- "No"
casen_2013$e1[casen_2013$e1 == "No, sólo escribe"] <- "No"
casen_2013$e1[casen_2013$e1 == "NS/NR"] <- NA

casen_2015$e1[casen_2015$e1 == "Sí, lee y escribe"] <- "Sí"
casen_2015$e1[casen_2015$e1 == "No, ninguno"] <- "No"
casen_2015$e1[casen_2015$e1 == "No, sólo lee"] <- "No"
casen_2015$e1[casen_2015$e1 == "No, sólo escribe"] <- "No"

casen_2017$e1[casen_2017$e1 == "Sí, lee y escribe"] <- "Sí"
casen_2017$e1[casen_2017$e1 == "No, sólo lee"] <- "No"
casen_2017$e1[casen_2017$e1 == "No, ninguno"] <- "No"
casen_2017$e1[casen_2017$e1 == "No sabe/responde"] <- NA
casen_2017$e1[casen_2017$e1 == "No, sólo escribe"] <- "No"

Homologación de etnia

fn_etnia <- function(union_etnia){
union_etnia$Etnia[union_etnia$Etnia == "Aimara" ]  <- "Aymara"
union_etnia$Etnia[union_etnia$Etnia == "No pertenece a ninguno de estos pueblos indígenas" ]  <-  "No pertenece a ningún pueblo indígena" 
union_etnia$Etnia[union_etnia$Etnia == "Mapuche"]  <- "Mapuche"
union_etnia$Etnia[union_etnia$Etnia == "Diaguita"]  <- "Diaguita"
union_etnia$Etnia[union_etnia$Etnia == "Atacameño" ]  <- "Atacameño"
union_etnia$Etnia[union_etnia$Etnia == "Atacameño (Likan-Antai)" ]  <- "Atacameño"
union_etnia$Etnia[union_etnia$Etnia == "Atacameño (Likán Antai)" ]  <- "Atacameño"
union_etnia$Etnia[union_etnia$Etnia == "Atacameño (Likán-Antai)" ]  <- "Atacameño"
union_etnia$Etnia[union_etnia$Etnia == "Quechua" ]  <- "Quechua"
union_etnia$Etnia[union_etnia$Etnia == "Yámana o Yagán" ]  <- "Yagán"
union_etnia$Etnia[union_etnia$Etnia == "Yagan" ]  <- "Yagán"
union_etnia$Etnia[union_etnia$Etnia == "Yagán (Yámana)" ]  <- "Yagán"
union_etnia$Etnia[union_etnia$Etnia == "Rapa-Nui o Pascuenses"]  <- "Pascuense"
union_etnia$Etnia[union_etnia$Etnia == "Rapa-Nui"]  <- "Pascuense"
union_etnia$Etnia[union_etnia$Etnia == "Rapa Nui (Pascuense)"]  <- "Pascuense"
union_etnia$Etnia[union_etnia$Etnia == "Rapa Nui"]  <- "Pascuense"
union_etnia$Etnia[union_etnia$Etnia == "Collas"]  <- "Coya"
union_etnia$Etnia[union_etnia$Etnia == "Kawashkar o Alacalufes" ]  <- "Alacalufe"
union_etnia$Etnia[union_etnia$Etnia == "Kawashkar" ]  <- "Alacalufe"
union_etnia$Etnia[union_etnia$Etnia == "Kawésqar (Alacalufes)" ]  <- "Alacalufe"
union_etnia$Etnia[union_etnia$Etnia == "Kawésqar" ]  <- "Alacalufe"
union_etnia$Etnia[union_etnia$Etnia == "Kawaskar" ]  <- "Alacalufe"
union_etnia$Etnia[union_etnia$Etnia == "Chango" ]  <- "Chango"
union_etnia$Etnia[union_etnia$Etnia ==  "Sin dato"]  <- NA
union_etnia$Etnia[union_etnia$Etnia ==  "NS/NR"   ]  <- NA
union_etnia$Etnia[union_etnia$Etnia == "No sabe/no responde" ]  <- NA 

union_etnia <<- union_etnia
}

Homologación de migración

for (i in unique(casen_2020$r2_pais_esp)) {
  pais <- gsub("(^[[:space:]]+|[[:space:]]+$)", "", i)
  pais <- tolower(pais)
  casen_2020$r2_pais_esp[casen_2020$r2_pais_esp == i] <- str_to_title(pais) 
} 

casen_2011$r2p_cod[casen_2011$r2p_cod == "No contesta"] <- "NS/NR"
casen_2013$r2_p_cod[casen_2013$r2_p_cod == "No contesta"] <- "NS/NR"
casen_2015$r2espp_cod[casen_2015$r2espp_cod == "No contesta"] <- "NS/NR"
casen_2017$r2_p_cod[casen_2017$r2_p_cod == "No Bien Especificado"] <- "NS/NR"
casen_2017$r2_p_cod[casen_2017$r2_p_cod == "No Responde"] <- "NS/NR"
casen_2020$r2_pais_esp[casen_2020$r2_pais_esp == "No Bien Especificado"] <- "NS/NR"
casen_2020$r2_pais_esp[casen_2020$r2_pais_esp == ""] <- NA

1.1 Se obtiene el universo de categorías para O17 cada año

ab <- casen_2006
unique_d_2006 <- unique(ab$O23)
 
ab <- casen_2009
unique_d_2009 <- unique(ab$O27)
 
ab <- casen_2011
unique_d_2011 <- unique(ab$o18)
 
ab <- casen_2013
unique_d_2013 <- unique(ab$o18)
 
ab <- casen_2015
unique_d_2015 <- unique(ab$o18)
 
ab <- casen_2017
unique_d_2017 <- unique(ab$o18)

2 Diccionario PADRE

Se unen todas las categorías de respuesta, se excluyen las repetidas y se les asocia un código:

unique_d_2006 <- as.data.frame(unique_d_2006)
colnames(unique_d_2006)[1] <- "super"
unique_d_2009 <- as.data.frame(unique_d_2009)
colnames(unique_d_2009)[1] <- "super"
unique_d_2011 <- as.data.frame(unique_d_2011)
colnames(unique_d_2011)[1] <- "super"
unique_d_2013 <- as.data.frame(unique_d_2013)
colnames(unique_d_2013)[1] <- "super"
unique_d_2015 <- as.data.frame(unique_d_2015)
colnames(unique_d_2015)[1] <- "super"
unique_d_2017 <- as.data.frame(unique_d_2017)
colnames(unique_d_2017)[1] <- "super"
 
el_total <- rbind(unique_d_2006, unique_d_2009, unique_d_2011, unique_d_2013, unique_d_2015, unique_d_2017)
 
el_total_final <- unique(el_total)
 
el_total_final$observation <- 1:nrow(el_total_final) 
datatable(el_total_final, extensions = 'Buttons', escape = FALSE, rownames = FALSE,
          options = list(dom = 'Bfrtip',
          buttons = list('colvis', list(extend = 'collection',
          buttons = list(
          list(extend='copy'),
          list(extend='excel',
            filename = 'tabla_ytotcor_e5a'),
          list(extend='pdf',
            filename= 'tabla_ytotcor_e5a')),
          text = 'Download')), scrollX = TRUE))

2.0.0.1 2011

Generamos las tablas de contingencia tal como acostumbramos:

ab <- casen_2011

b <- ab$comuna
c <- ab$o18
d <- ab$r6
e <- ab$sexo
f <- ab$e1

cross_tab =  xtabs(ab$expc_full ~   unlist(b) + unlist(c)  + unlist(d) + unlist(e)  + unlist(f),aggregate(ab$expc_full ~  unlist(b) + unlist(c) + unlist(d) + unlist(e) + unlist(f) ,ab,mean))
tabla <- as.data.frame(cross_tab)
d <-tabla[!(tabla$Freq == 0),]
d$anio <- "2011"
      
names(d)[1] <- "comuna"
names(d)[2] <- "o18"
names(d)[3] <- "Etnia"
names(d)[4] <- "Sexo"
names(d)[5] <- "Sabe leer?"
names(d)[6] <- "Frecuencia"
names(d)[7] <- "Año"

d_2011 <- d

 
dataf1 <- data.frame()
for (n in 1:nrow(el_total_final)) { 
  dataf1 <- rbind(dataf1,paste0("d_2011['o18'][d_2011['o18'] ==  '",el_total_final[n,1],"']"," <- '",el_total_final[n,2],"'"))
}
dataf1 <- as.data.frame(dataf1)
 
d_2011 <- data.frame(lapply(d_2011 , as.character), stringsAsFactors=FALSE)
d_2011$string_o18 <- d_2011$o18
d_2011['o18'][d_2011['o18'] ==  'Una jornada completa'] <- '1'
d_2011['o18'][d_2011['o18'] ==  'NA'] <- '2'
d_2011['o18'][d_2011['o18'] ==  'Jornada parcial'] <- '3'
d_2011['o18'][d_2011['o18'] ==  'Sin dato'] <- '4'
d_2011['o18'][d_2011['o18'] ==  'Jornada completa'] <- '5'
d_2011['o18'][d_2011['o18'] ==  'Jornada prolongada'] <- '6'
d_2011['o18'][d_2011['o18'] ==  'Otra'] <- '7'
d_2011['o18'][d_2011['o18'] ==  'NS/NR'] <- '8'
d_2011['o18'][d_2011['o18'] ==  'Jornada parcial?'] <- '9'
d_2011['o18'][d_2011['o18'] ==  'Jornada completa?'] <- '10'
d_2011['o18'][d_2011['o18'] ==  'Jornada prolongada?'] <- '11'
d_2011['o18'][d_2011['o18'] ==  'Otra?'] <- '12'
d_2011['o18'][d_2011['o18'] ==  'No sabe/no responde'] <- '13'


d_2011 <- d_2011[c(1,8,2,3,4,5,6,7)]

2.0.0.2 2013

Generamos las tablas de contingencia tal como acostumbramos:

ab <- casen_2013

b <- ab$comuna
c <- ab$o18
d <- ab$r6
e <- ab$sexo
f <- ab$e1

cross_tab =  xtabs(ab$expc ~   unlist(b) + unlist(c)  + unlist(d) + unlist(e)  + unlist(f),aggregate(ab$expc ~  unlist(b) + unlist(c) + unlist(d) + unlist(e) + unlist(f) ,ab,mean))
tabla <- as.data.frame(cross_tab)
d <-tabla[!(tabla$Freq == 0),]
d$anio <- "2013"
      
names(d)[1] <- "comuna"
names(d)[2] <- "o18"
names(d)[3] <- "Etnia"
names(d)[4] <- "Sexo"
names(d)[5] <- "Sabe leer?"
names(d)[6] <- "Frecuencia"
names(d)[7] <- "Año"

d_2013 <- d

 
dataf1 <- data.frame()
for (n in 1:nrow(el_total_final)) { 
  dataf1 <- rbind(dataf1,paste0("d_2013['o18'][d_2013['o18'] ==  '",el_total_final[n,1],"']"," <- '",el_total_final[n,2],"'"))
}
dataf1 <- as.data.frame(dataf1)
 
d_2013 <- data.frame(lapply(d_2013 , as.character), stringsAsFactors=FALSE)
d_2013$string_o18 <- d_2013$o18
d_2013['o18'][d_2013['o18'] ==  'Una jornada completa'] <- '1'
d_2013['o18'][d_2013['o18'] ==  'NA'] <- '2'
d_2013['o18'][d_2013['o18'] ==  'Jornada parcial'] <- '3'
d_2013['o18'][d_2013['o18'] ==  'Sin dato'] <- '4'
d_2013['o18'][d_2013['o18'] ==  'Jornada completa'] <- '5'
d_2013['o18'][d_2013['o18'] ==  'Jornada prolongada'] <- '6'
d_2013['o18'][d_2013['o18'] ==  'Otra'] <- '7'
d_2013['o18'][d_2013['o18'] ==  'NS/NR'] <- '8'
d_2013['o18'][d_2013['o18'] ==  'Jornada parcial?'] <- '9'
d_2013['o18'][d_2013['o18'] ==  'Jornada completa?'] <- '10'
d_2013['o18'][d_2013['o18'] ==  'Jornada prolongada?'] <- '11'
d_2013['o18'][d_2013['o18'] ==  'Otra?'] <- '12'
d_2013['o18'][d_2013['o18'] ==  'No sabe/no responde'] <- '13'

d_2013 <- d_2011[c(1,8,2,3,4,5,6,7)]

2.0.0.3 2015

Generamos las tablas de contingencia tal como acostumbramos:

ab <- casen_2015

b <- ab$comuna
c <- ab$o18
d <- ab$r3
e <- ab$sexo
f <- ab$e1

cross_tab =  xtabs(ab$expc_todas ~   unlist(b) + unlist(c)  + unlist(d) + unlist(e)  + unlist(f),aggregate(ab$expc_todas ~  unlist(b) + unlist(c) + unlist(d) + unlist(e) + unlist(f) ,ab,mean))
tabla <- as.data.frame(cross_tab)
d <-tabla[!(tabla$Freq == 0),]
d$anio <- "2015"
      
names(d)[1] <- "comuna"
names(d)[2] <- "o18"
names(d)[3] <- "Etnia"
names(d)[4] <- "Sexo"
names(d)[5] <- "Sabe leer?"
names(d)[6] <- "Frecuencia"
names(d)[7] <- "Año"

d_2015 <- d
 
dataf1 <- data.frame()
for (n in 1:nrow(el_total_final)) { 
  dataf1 <- rbind(dataf1,paste0("d_2015['o18'][d_2015['o18'] ==  '",el_total_final[n,1],"']"," <- '",el_total_final[n,2],"'"))
}
dataf1 <- as.data.frame(dataf1)
 
d_2015 <- data.frame(lapply(d_2015 , as.character), stringsAsFactors=FALSE)
d_2015$string_o18 <- d_2015$o18
d_2015['o18'][d_2015['o18'] ==  'Una jornada completa'] <- '1'
d_2015['o18'][d_2015['o18'] ==  'NA'] <- '2'
d_2015['o18'][d_2015['o18'] ==  'Jornada parcial'] <- '3'
d_2015['o18'][d_2015['o18'] ==  'Sin dato'] <- '4'
d_2015['o18'][d_2015['o18'] ==  'Jornada completa'] <- '5'
d_2015['o18'][d_2015['o18'] ==  'Jornada prolongada'] <- '6'
d_2015['o18'][d_2015['o18'] ==  'Otra'] <- '7'
d_2015['o18'][d_2015['o18'] ==  'NS/NR'] <- '8'
d_2015['o18'][d_2015['o18'] ==  'Jornada parcial?'] <- '9'
d_2015['o18'][d_2015['o18'] ==  'Jornada completa?'] <- '10'
d_2015['o18'][d_2015['o18'] ==  'Jornada prolongada?'] <- '11'
d_2015['o18'][d_2015['o18'] ==  'Otra?'] <- '12'
d_2015['o18'][d_2015['o18'] ==  'No sabe/no responde'] <- '13'



d_2015 <- d_2015[c(1,8,2,3,4,5,6,7)]

2.0.0.4 2017

Generamos las tablas de contingencia tal como acostumbramos:

ab <- casen_2017

b <- ab$comuna
c <- ab$o18
d <- ab$r3
e <- ab$sexo
f <- ab$e1

cross_tab =  xtabs(ab$expc ~   unlist(b) + unlist(c)  + unlist(d) + unlist(e)  + unlist(f),aggregate(ab$expc ~  unlist(b) + unlist(c) + unlist(d) + unlist(e) + unlist(f) ,ab,mean))
tabla <- as.data.frame(cross_tab)
d <-tabla[!(tabla$Freq == 0),]
d$anio <- "2017"
      
names(d)[1] <- "comuna"
names(d)[2] <- "o18"
names(d)[3] <- "Etnia"
names(d)[4] <- "Sexo"
names(d)[5] <- "Sabe leer?"
names(d)[6] <- "Frecuencia"
names(d)[7] <- "Año"

d_2017 <- d

 
dataf1 <- data.frame()
for (n in 1:nrow(el_total_final)) { 
  dataf1 <- rbind(dataf1,paste0("d_2017['o18'][d_2017['o18'] ==  '",el_total_final[n,1],"']"," <- '",el_total_final[n,2],"'"))
}
dataf1 <- as.data.frame(dataf1)
write_xlsx(dataf1,"el_total_final.xlsx")
 
d_2017 <- data.frame(lapply(d_2017 , as.character), stringsAsFactors=FALSE)
d_2017$string_o18 <- d_2017$o18
d_2017['o18'][d_2017['o18'] ==  'Una jornada completa'] <- '1'
d_2017['o18'][d_2017['o18'] ==  'NA'] <- '2'
d_2017['o18'][d_2017['o18'] ==  'Jornada parcial'] <- '3'
d_2017['o18'][d_2017['o18'] ==  'Sin dato'] <- '4'
d_2017['o18'][d_2017['o18'] ==  'Jornada completa'] <- '5'
d_2017['o18'][d_2017['o18'] ==  'Jornada prolongada'] <- '6'
d_2017['o18'][d_2017['o18'] ==  'Otra'] <- '7'
d_2017['o18'][d_2017['o18'] ==  'NS/NR'] <- '8'
d_2017['o18'][d_2017['o18'] ==  'Jornada parcial?'] <- '9'
d_2017['o18'][d_2017['o18'] ==  'Jornada completa?'] <- '10'
d_2017['o18'][d_2017['o18'] ==  'Jornada prolongada?'] <- '11'
d_2017['o18'][d_2017['o18'] ==  'Otra?'] <- '12'
d_2017['o18'][d_2017['o18'] ==  'No sabe/no responde'] <- '13'




d_2017 <- d_2017[c(1,8,2,3,4,5,6,7)]

3 Tabla final etnia

union_etnia <- rbind(d_2011, d_2013, d_2015, d_2017)
union <-union_etnia
fn_etnia(union)

cod_com <- readRDS("C:/Users/enamo/Desktop/Shiny-R/Casen_en_pandemia_2020/codigos_comunales_2006-2020.rds") 
names(cod_com)[2] <- "comuna"
tab_f <- merge(x=union_etnia, y=cod_com, by="comuna") 
Etnia <- c(sort(unique(tab_f$Etnia)[-6]),"No pertenece a ningún pueblo indígena",NA)
Etnia<- as.data.frame(Etnia)
Etnia$cod_etnia <- paste("00",seq(1:nrow(Etnia)), sep = "")
codigos <- Etnia$cod_etnia
rango <- seq(1:nrow(Etnia))
cadena <- paste("",codigos[rango], sep = "")
cadena <- substr(cadena,(nchar(cadena)[rango])-(1),4)
codigos <- as.data.frame(codigos)
cadena <- as.data.frame(cadena)
codigos <- cbind(Etnia,cadena)  
colnames(codigos) <- c("Etnia","cadena","cod_etnia")

tab_f <- merge(x=tab_f, y=codigos, by="Etnia") 

tab_f$cod_sexo <- tab_f$Sexo
tab_f$cod_sexo[tab_f$cod_sexo == "Hombre"] <- "01"
tab_f$cod_sexo[tab_f$cod_sexo == "Mujer"] <- "02"

tab_f$cod_alfa <- tab_f$Sabe.leer.
tab_f$cod_alfa[tab_f$cod_alfa == "Sí"] <- "01"
tab_f$cod_alfa[tab_f$cod_alfa == "No"] <- "02"

4 MIGRA

4.0.0.1 2011

Generamos las tablas de contingencia tal como acostumbramos:

ab <- casen_2011

b <- ab$comuna
c <- ab$o18
d <- ab$r2p_cod
e <- ab$sexo
f <- ab$e1

cross_tab =  xtabs(ab$expc_full ~   unlist(b) + unlist(c)  + unlist(d) + unlist(e)  + unlist(f),aggregate(ab$expc_full ~  unlist(b) + unlist(c) + unlist(d) + unlist(e) + unlist(f) ,ab,mean))
tabla <- as.data.frame(cross_tab)
d <-tabla[!(tabla$Freq == 0),]
d$anio <- "2011"
      
names(d)[1] <- "comuna"
names(d)[2] <- "o18"
names(d)[3] <- "Etnia"
names(d)[4] <- "Sexo"
names(d)[5] <- "Sabe leer?"
names(d)[6] <- "Frecuencia"
names(d)[7] <- "Año"

d_2011 <- d

 
dataf1 <- data.frame()
for (n in 1:nrow(el_total_final)) { 
  dataf1 <- rbind(dataf1,paste0("d_2011['o18'][d_2011['o18'] ==  '",el_total_final[n,1],"']"," <- '",el_total_final[n,2],"'"))
}
dataf1 <- as.data.frame(dataf1)
write_xlsx(dataf1,"el_total_final.xlsx")
 
d_2011 <- data.frame(lapply(d_2011 , as.character), stringsAsFactors=FALSE)
d_2011$string_o18<- d_2011$o18
d_2011['o18'][d_2011['o18'] ==  'Una jornada completa'] <- '1'
d_2011['o18'][d_2011['o18'] ==  'NA'] <- '2'
d_2011['o18'][d_2011['o18'] ==  'Jornada parcial'] <- '3'
d_2011['o18'][d_2011['o18'] ==  'Sin dato'] <- '4'
d_2011['o18'][d_2011['o18'] ==  'Jornada completa'] <- '5'
d_2011['o18'][d_2011['o18'] ==  'Jornada prolongada'] <- '6'
d_2011['o18'][d_2011['o18'] ==  'Otra'] <- '7'
d_2011['o18'][d_2011['o18'] ==  'NS/NR'] <- '8'
d_2011['o18'][d_2011['o18'] ==  'Jornada parcial?'] <- '9'
d_2011['o18'][d_2011['o18'] ==  'Jornada completa?'] <- '10'
d_2011['o18'][d_2011['o18'] ==  'Jornada prolongada?'] <- '11'
d_2011['o18'][d_2011['o18'] ==  'Otra?'] <- '12'
d_2011['o18'][d_2011['o18'] ==  'No sabe/no responde'] <- '13'

d_2011 <- d_2011[c(1,8,2,3,4,5,6,7)]

4.0.0.2 2013

Generamos las tablas de contingencia tal como acostumbramos:

ab <- casen_2013

b <- ab$comuna
c <- ab$o18
d <- ab$r2_p_cod
e <- ab$sexo
f <- ab$e1

cross_tab =  xtabs(ab$expc ~   unlist(b) + unlist(c)  + unlist(d) + unlist(e)  + unlist(f),aggregate(ab$expc ~  unlist(b) + unlist(c) + unlist(d) + unlist(e) + unlist(f) ,ab,mean))
tabla <- as.data.frame(cross_tab)
d <-tabla[!(tabla$Freq == 0),]
d$anio <- "2013"
      
names(d)[1] <- "comuna"
names(d)[2] <- "o18"
names(d)[3] <- "Etnia"
names(d)[4] <- "Sexo"
names(d)[5] <- "Sabe leer?"
names(d)[6] <- "Frecuencia"
names(d)[7] <- "Año"

d_2013 <- d
 
dataf1 <- data.frame()
for (n in 1:nrow(el_total_final)) { 
  dataf1 <- rbind(dataf1,paste0("d_2013['o18'][d_2013['o18'] ==  '",el_total_final[n,1],"']"," <- '",el_total_final[n,2],"'"))
}
dataf1 <- as.data.frame(dataf1)
write_xlsx(dataf1,"el_total_final.xlsx")
 
d_2013 <- data.frame(lapply(d_2013 , as.character), stringsAsFactors=FALSE)
d_2013$string_o18<- d_2013$o18
d_2013['o18'][d_2013['o18'] ==  'Una jornada completa'] <- '1'
d_2013['o18'][d_2013['o18'] ==  'NA'] <- '2'
d_2013['o18'][d_2013['o18'] ==  'Jornada parcial'] <- '3'
d_2013['o18'][d_2013['o18'] ==  'Sin dato'] <- '4'
d_2013['o18'][d_2013['o18'] ==  'Jornada completa'] <- '5'
d_2013['o18'][d_2013['o18'] ==  'Jornada prolongada'] <- '6'
d_2013['o18'][d_2013['o18'] ==  'Otra'] <- '7'
d_2013['o18'][d_2013['o18'] ==  'NS/NR'] <- '8'
d_2013['o18'][d_2013['o18'] ==  'Jornada parcial?'] <- '9'
d_2013['o18'][d_2013['o18'] ==  'Jornada completa?'] <- '10'
d_2013['o18'][d_2013['o18'] ==  'Jornada prolongada?'] <- '11'
d_2013['o18'][d_2013['o18'] ==  'Otra?'] <- '12'
d_2013['o18'][d_2013['o18'] ==  'No sabe/no responde'] <- '13'

d_2013 <- d_2013[c(1,8,2,3,4,5,6,7)]

4.0.0.3 2015

Generamos las tablas de contingencia tal como acostumbramos:

ab <- casen_2015

b <- ab$comuna
c <- ab$o18
d <- ab$r2espp_cod
e <- ab$sexo
f <- ab$e1

cross_tab =  xtabs(ab$expc_todas ~   unlist(b) + unlist(c)  + unlist(d) + unlist(e)  + unlist(f),aggregate(ab$expc_todas ~  unlist(b) + unlist(c) + unlist(d) + unlist(e) + unlist(f) ,ab,mean))
tabla <- as.data.frame(cross_tab)
d <-tabla[!(tabla$Freq == 0),]
d$anio <- "2015"
      
names(d)[1] <- "comuna"
names(d)[2] <- "o18"
names(d)[3] <- "Etnia"
names(d)[4] <- "Sexo"
names(d)[5] <- "Sabe leer?"
names(d)[6] <- "Frecuencia"
names(d)[7] <- "Año"

d_2015 <- d

 
dataf1 <- data.frame()
for (n in 1:nrow(el_total_final)) { 
  dataf1 <- rbind(dataf1,paste0("d_2015['o18'][d_2015['o18'] ==  '",el_total_final[n,1],"']"," <- '",el_total_final[n,2],"'"))
}
dataf1 <- as.data.frame(dataf1)
write_xlsx(dataf1,"el_total_final.xlsx")
 
d_2015 <- data.frame(lapply(d_2015 , as.character), stringsAsFactors=FALSE)
d_2015$string_o18<- d_2015$o18
d_2015['o18'][d_2015['o18'] ==  'Una jornada completa'] <- '1'
d_2015['o18'][d_2015['o18'] ==  'NA'] <- '2'
d_2015['o18'][d_2015['o18'] ==  'Jornada parcial'] <- '3'
d_2015['o18'][d_2015['o18'] ==  'Sin dato'] <- '4'
d_2015['o18'][d_2015['o18'] ==  'Jornada completa'] <- '5'
d_2015['o18'][d_2015['o18'] ==  'Jornada prolongada'] <- '6'
d_2015['o18'][d_2015['o18'] ==  'Otra'] <- '7'
d_2015['o18'][d_2015['o18'] ==  'NS/NR'] <- '8'
d_2015['o18'][d_2015['o18'] ==  'Jornada parcial?'] <- '9'
d_2015['o18'][d_2015['o18'] ==  'Jornada completa?'] <- '10'
d_2015['o18'][d_2015['o18'] ==  'Jornada prolongada?'] <- '11'
d_2015['o18'][d_2015['o18'] ==  'Otra?'] <- '12'
d_2015['o18'][d_2015['o18'] ==  'No sabe/no responde'] <- '13'



d_2015<- d_2015[c(1,8,2,3,4,5,6,7)]

4.0.0.4 2017

Generamos las tablas de contingencia tal como acostumbramos:

ab <- casen_2017

b <- ab$comuna
c <- ab$o18
d <- ab$r2_p_cod
e <- ab$sexo
f <- ab$e1

cross_tab =  xtabs(ab$expc~   unlist(b) + unlist(c)  + unlist(d) + unlist(e)  + unlist(f),aggregate(ab$expc ~  unlist(b) + unlist(c) + unlist(d) + unlist(e) + unlist(f) ,ab,mean))
tabla <- as.data.frame(cross_tab)
d <-tabla[!(tabla$Freq == 0),]
d$anio <- "2017"
      
names(d)[1] <- "comuna"
names(d)[2] <- "o18"
names(d)[3] <- "Etnia"
names(d)[4] <- "Sexo"
names(d)[5] <- "Sabe leer?"
names(d)[6] <- "Frecuencia"
names(d)[7] <- "Año"

d_2017 <- d
 
dataf1 <- data.frame()
for (n in 1:nrow(el_total_final)) { 
  dataf1 <- rbind(dataf1,paste0("d_2017['o18'][d_2017['o18'] ==  '",el_total_final[n,1],"']"," <- '",el_total_final[n,2],"'"))
}
dataf1 <- as.data.frame(dataf1)
write_xlsx(dataf1,"el_total_final.xlsx")
 
d_2017 <- data.frame(lapply(d_2017 , as.character), stringsAsFactors=FALSE)
d_2017$string_o18 <- d_2017$o18
d_2017['o18'][d_2017['o18'] ==  'Una jornada completa'] <- '1'
d_2017['o18'][d_2017['o18'] ==  'NA'] <- '2'
d_2017['o18'][d_2017['o18'] ==  'Jornada parcial'] <- '3'
d_2017['o18'][d_2017['o18'] ==  'Sin dato'] <- '4'
d_2017['o18'][d_2017['o18'] ==  'Jornada completa'] <- '5'
d_2017['o18'][d_2017['o18'] ==  'Jornada prolongada'] <- '6'
d_2017['o18'][d_2017['o18'] ==  'Otra'] <- '7'
d_2017['o18'][d_2017['o18'] ==  'NS/NR'] <- '8'
d_2017['o18'][d_2017['o18'] ==  'Jornada parcial?'] <- '9'
d_2017['o18'][d_2017['o18'] ==  'Jornada completa?'] <- '10'
d_2017['o18'][d_2017['o18'] ==  'Jornada prolongada?'] <- '11'
d_2017['o18'][d_2017['o18'] ==  'Otra?'] <- '12'
d_2017['o18'][d_2017['o18'] ==  'No sabe/no responde'] <- '13'



d_2017 <- d_2017[c(1,8,2,3,4,5,6,7)]

5 Tabla final migración

union <- rbind(d_2011, d_2013, d_2015, d_2017)

union$cod_sexo <- union$Sexo
union$cod_sexo[union$cod_sexo == "Hombre"] <- "01"
union$cod_sexo[union$cod_sexo == "Mujer"] <- "02"

union$cod_alfa <- union$Sabe.leer.
union$cod_alfa[union$cod_alfa == "Sí"] <- "01"
union$cod_alfa[union$cod_alfa == "No"] <- "02"

cod_com <- readRDS("C:/Users/enamo/Desktop/Shiny-R/Casen_en_pandemia_2020/codigos_comunales_2006-2020.rds") 
names(cod_com)[2] <- "comuna"

tab_f <- merge(x = union, y = cod_com, by = "comuna")
tab_f <- tab_f[,c(1,2,3,4,5,9,6,10,7,8)]

datatable(tab_f, extensions = 'Buttons', escape = FALSE, rownames = FALSE,
          options = list(dom = 'Bfrtip',
          buttons = list('colvis', list(extend = 'collection',
          buttons = list(
          list(extend='copy'),
          list(extend='excel',
            filename = 'tabla_ytotcor_e5a'),
          list(extend='pdf',
            filename= 'tabla_ytotcor_e5a')),
          text = 'Download')), scrollX = TRUE))