Casens 2006-2020 Tabla 27

Pueblos indígenas, ¿pertenece usted o es descendiente de alguno de ellos?

VE-CC-AJ

DataIntelligence
date: 14-10-2021

1 Introducción

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

casen_2006 <<- readRDS("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("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("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("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("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("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("C:/Users/enamo/Desktop/Shiny-R/Casen_en_pandemia_2020/casen/casen_2020_c.rds")
casen_2020 <- mutate_if(casen_2020, is.factor, as.character)

cod_com <- readRDS("C:/Users/enamo/Desktop/Shiny-R/Casen_en_pandemia_2020/codigos_comunales_2006-2020.rds") 
names(cod_com)[2] <- "comuna"
vv <- c("T4","T5","r6","r6","r3","r3","r3")
casen_2006 <- casen_2006[,c("EXPC", "COMUNA"          ,vv[1],            "T4","SEXO","E1")]
casen_2009 <- casen_2009[,c("EXPC", "COMUNA"          ,vv[2],            "T5","SEXO","E1")]
casen_2011 <- casen_2011[,c("expc_full", "comuna"     ,vv[3],            "r6","sexo","e1","r2p_cod")]
casen_2013 <- casen_2013[,c("expc", "comuna"          ,vv[4],            "r6","sexo","e1","r2_p_cod")]
casen_2015 <- casen_2015[,c("expc_todas", "comuna"    ,vv[5],            "r3","sexo","e1","r2espp_cod")]
casen_2017 <- casen_2017[,c("expc", "comuna"          ,vv[6],            "r3","sexo","e1","r2_p_cod")]
casen_2020 <- casen_2020[,c("expc", "comuna"          ,vv[7],            "r3","sexo","e1","r2_pais_esp")]

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"
casen_2020$e1[casen_2020$e1 == 1] <- "Sí"
casen_2020$e1[casen_2020$e1 == 0] <- "No"

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
casen_2020$r2_pais_esp[casen_2020$r2_pais_esp == "No Responde"] <- "NS/NR"

1.0.1 2006

ab <- casen_2006

b <- ab$COMUNA
c <- ab$T4
d <- ab$T4
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 <- "2006"
      
names(d)[1] <- "comuna"
names(d)[2] <- "variable"
names(d)[3] <- "Etnia"
names(d)[4] <- "Sexo"
names(d)[5] <- "Sabe leer?"
names(d)[6] <- "Frecuencia"
names(d)[7] <- "Año"

d_2006 <- d

d_2006 <- mutate_if(d_2006, is.factor, as.character)

1.0.2 2009

Generamos las tablas de contingencia tal como acostumbramos:

ab <- casen_2009

b <- ab$COMUNA
c <- ab$T5
d <- ab$T5
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 <- "2009"

names(d)[1] <- "comuna"
names(d)[2] <- "variable"
names(d)[3] <- "Etnia"
names(d)[4] <- "Sexo"
names(d)[5] <- "Sabe leer?"
names(d)[6] <- "Frecuencia"
names(d)[7] <- "Año"

d_2009 <- d

1.0.3 2011

Generamos las tablas de contingencia tal como acostumbramos:

ab <- casen_2011

b <- ab$comuna
c <- ab$r6
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] <- "variable"
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

1.0.4 2013

Generamos las tablas de contingencia tal como acostumbramos:

ab <- casen_2013

b <- ab$comuna
c <- ab$r6
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] <- "variable"
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

1.0.5 2015

Generamos las tablas de contingencia tal como acostumbramos:

ab <- casen_2015

b <- ab$comuna
c <- ab$r3
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] <- "variable"
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

1.0.6 2017

Generamos las tablas de contingencia tal como acostumbramos:

ab <- casen_2017

b <- ab$comuna
c <- ab$r3
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] <- "variable"
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

1.0.7 2020

Generamos las tablas de contingencia tal como acostumbramos:

ab <- casen_2020

b <- ab$comuna
c <- ab$r3
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 <- "2020"
      
names(d)[1] <- "comuna"
names(d)[2] <- "variable"
names(d)[3] <- "Etnia"
names(d)[4] <- "Sexo"
names(d)[5] <- "Sabe leer?"
names(d)[6] <- "Frecuencia"
names(d)[7] <- "Año"

d_2020 <- d

Unimos y desplegamos la tabla corregida:

2 Tabla final etnia homologada

union_etnia <- rbind(d_2006,d_2009, d_2011, d_2013, d_2015, d_2017, d_2020)
union_etnia <- mutate_if(union_etnia, is.factor, as.character)
#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"



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'),
          list(extend='pdf',
            filename= 'tabla')),
          text = 'Download')), scrollX = TRUE))

3 MIGRA

3.0.1 2011

Generamos las tablas de contingencia tal como acostumbramos:

ab <- casen_2011

b <- ab$comuna
c <- ab$r6
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] <- "variable"
names(d)[3] <- "Origen"
names(d)[4] <- "Sexo"
names(d)[5] <- "Sabe leer?"
names(d)[6] <- "Frecuencia"
names(d)[7] <- "Año"

d_2011 <- d

3.0.2 2013

ab <- casen_2013

b <- ab$comuna
c <- ab$r6
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] <- "variable"
names(d)[3] <- "Origen"
names(d)[4] <- "Sexo"
names(d)[5] <- "Sabe leer?"
names(d)[6] <- "Frecuencia"
names(d)[7] <- "Año"
d_2013 <- d

3.0.3 2015

 ab <- casen_2015

b <- ab$comuna 
c <- ab$r3
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] <- "variable" 
 names(d)[3] <- "Origen" 
 names(d)[4] <- "Sexo" 
 names(d)[5] <- "Sabe leer?" 
 names(d)[6] <- "Frecuencia" 
 names(d)[7] <- "Año" 

 d_2015 <- d 

3.0.4 2017

ab <- casen_2017

b <- ab$comuna
c <- ab$r3
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] <- "variable"
names(d)[3] <- "Origen"
names(d)[4] <- "Sexo"
names(d)[5] <- "Sabe leer?"
names(d)[6] <- "Frecuencia"
names(d)[7] <- "Año"

d_2017 <- d

3.0.5 2020

ab <- casen_2020

b <- ab$comuna
c <- ab$r3
d <- ab$r2_pais_esp
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 <- "2020"

names(d)[1] <- "comuna"
names(d)[2] <- "variable"
names(d)[3] <- "Origen"
names(d)[4] <- "Sexo"
names(d)[5] <- "Sabe leer?"
names(d)[6] <- "Frecuencia"
names(d)[7] <- "Año"


d_2020 <- d

Unimos y desplegamos la tabla corregida:

4 Tabla final inmigración homologada

colnames(d_2011)
## [1] "comuna"     "variable"   "Origen"     "Sexo"       "Sabe leer?"
## [6] "Frecuencia" "Año"
colnames(d_2013)
## [1] "comuna"     "variable"   "Origen"     "Sexo"       "Sabe leer?"
## [6] "Frecuencia" "Año"
colnames(d_2015)
## [1] "comuna"     "variable"   "Origen"     "Sexo"       "Sabe leer?"
## [6] "Frecuencia" "Año"
colnames(d_2017)
## [1] "comuna"     "variable"   "Origen"     "Sexo"       "Sabe leer?"
## [6] "Frecuencia" "Año"
union_etnia <- rbind(d_2011, d_2013, d_2015, d_2017, d_2020)
union_etnia  <- mutate_if(union_etnia, is.factor, as.character)

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$variable)[-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("variable","cadena","cod_etnia")

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

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"



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'),
          list(extend='pdf',
            filename= 'tabla')),
          text = 'Download')), scrollX = TRUE))