Abstract
Es conocida la relación entre educación y clase social. En este informe vamos a construir cuatro tablas en las que nos referiremos al nivel educativo alcanzado por los padres y el percentil del ingreso autónomo al que las personas pertenecen. El nivel alcanzado lo obtenemos para padres y madres y la categoria será educación media, básica, etc. Consideraremos dos medidas de desigualdad, generadas en la pertenencia a los percentiles de ingreso, que serán el decil autónomo nacional DAU y el quintil autónomo nacional QAUT. Iniciaremos con una quinta tabla en la que cruzamos el nivel educacional alcanzado por el padre y el decil del ingreso autónomo que pertenece el encuestado. La relacion directamente proporcional entre nivel educativo del padre y clase social del hijo resulta evidente. En la Casen del 2006 por alguna razon existe la categoria de decil y quintil 0dataset_2006 <- readRDS(file = "casen_2006_c.rds")
dataset_2006 <- dataset_2006[,c("COMUNA","T14A","T14B","QAUT","DAU","T4","E1","SEXO","EXPC")]
dataset_2009 <- readRDS(file = "casen_2009_c.rds")
dataset_2009 <- dataset_2009[,c("COMUNA","T16PT","T16MT","QAUT","DAU","T5","E1","SEXO","EXPC")]
dataset_2011 <- readRDS(file = "casen_2011_c.rds")
dataset_2011 <- dataset_2011[,c("comuna","r5pn","r4mn","qaut","daut","r6","e1","sexo","expc_full")]
dataset_2013 <- readRDS(file = "casen_2013_c.rds")
dataset_2013 <- dataset_2013[,c("comuna","r4pn","r4mn","QAUT_MN","DAU_MN","r6","e1","sexo","expc")]
dataset_2015 <- readRDS(file = "casen_2015_c.rds")
dataset_2015 <- dataset_2015[,c("comuna","r10b","r10a","qaut","dau","r3","e1","sexo","expc_todas")]
dataset_2017 <- readRDS(file = "casen_2017_c.rds")
dataset_2017 <- dataset_2017[,c("comuna","r12b","r12a","qaut","dau","r3","e1","sexo","expc")]
¿Cuál fue el máximo nivel educacional que completó? Su Padre
funcion1 <- function(n){
comunales<-switch(n, "codigos_comunales_2006.rds","codigos_comunales_2009.rds","codigos_comunales_2011-2017.rds","codigos_comunales_2011-2017.rds","codigos_comunales_2011-2017.rds","codigos_comunales_2011-2017.rds")
xx<-switch(n, "2006","2009","2011","2013","2015","2017")
# dataset_06 <<- NA
if(xx==2006) {
eliminated <- dataset_2006
a <- eliminated$DAU
b <- eliminated$COMUNA
c <- eliminated$T14A
d <- eliminated$E1 #alfabetismo
e <- eliminated$T4 #etnia
f <- eliminated$SEXO
anio <- 2006
cross_tab = xtabs(eliminated$EXPC ~ + unlist(a) + unlist(b) + unlist(c) + unlist(d) + unlist(e)+ unlist(f) ,aggregate(eliminated$EXPC ~ + unlist(a) + unlist(b) + unlist(c) + unlist(d) + unlist(e)+ unlist(f),eliminated,mean))
}
if(xx==2009) {
eliminated <- dataset_2009
a <- eliminated$DAU
b <- eliminated$COMUNA
c <- eliminated$T16PT
d <- eliminated$E1 #alfabetismo
e <- eliminated$T5 #etnia
f <- eliminated$SEXO
anio <- 2009
cross_tab = xtabs(eliminated$EXPC ~ + unlist(a) + unlist(b) + unlist(c) + unlist(d) + unlist(e)+ unlist(f) ,aggregate(eliminated$EXPC ~ + unlist(a) + unlist(b) + unlist(c) + unlist(d) + unlist(e)+ unlist(f),eliminated,mean))
}
if(xx==2011) {
eliminated <- dataset_2011
a <- eliminated$daut
b <- eliminated$comuna
c <- eliminated$r5pn
d <- eliminated$e1 #alfabetismo
e <- eliminated$r6 #etnia
f <- eliminated$sexo
anio <- 2011
cross_tab = xtabs(eliminated$expc_full ~ + unlist(a) + unlist(b) + unlist(c) + unlist(d) + unlist(e)+ unlist(f) ,aggregate(eliminated$expc_full ~ + unlist(a) + unlist(b) + unlist(c) + unlist(d) + unlist(e)+ unlist(f),eliminated,mean))
}
if(xx==2013) {
eliminated <- dataset_2013
a <- eliminated$DAU_MN
b <- eliminated$comuna
c <- eliminated$r4pn
d <- eliminated$e1 #alfabetismo
e <- eliminated$r6 #etnia
f <- eliminated$sexo
anio <- 2013
cross_tab = xtabs(eliminated$expc ~ + unlist(a) + unlist(b) + unlist(c) + unlist(d) + unlist(e)+ unlist(f) ,aggregate(eliminated$expc ~ + unlist(a) + unlist(b) + unlist(c) + unlist(d) + unlist(e)+ unlist(f),eliminated,mean))
}
if(xx==2015) {
eliminated <- dataset_2015
a <- eliminated$dau
b <- eliminated$comuna
c <- eliminated$r10b
d <- eliminated$e1 #alfabetismo
e <- eliminated$r3 #etnia
f <- eliminated$sexo
anio <- 2015
cross_tab = xtabs(eliminated$expc_todas ~ + unlist(a) + unlist(a) + unlist(b) + unlist(c) + unlist(d) + unlist(e)+ unlist(f) ,aggregate(eliminated$expc_todas ~ + unlist(a) + unlist(b) + unlist(c) + unlist(d) + unlist(e)+ unlist(f),eliminated,mean))
}
if(xx==2017) {
eliminated <- dataset_2017
a <- eliminated$dau
b <- eliminated$comuna
c <- eliminated$r12b
d <- eliminated$e1 #alfabetismo
e <- eliminated$r3 #etnia
f <- eliminated$sexo
anio <- 2017
cross_tab = xtabs(eliminated$expc ~ + unlist(a) + unlist(b) + unlist(c) + unlist(d) + unlist(e)+ unlist(f) ,aggregate(eliminated$expc ~ + unlist(a) + unlist(b) + unlist(c) + unlist(d) + unlist(e)+ unlist(f),eliminated,mean))
}
tabla <- as.data.frame(cross_tab)
d <-tabla[!(tabla$Freq == 0),]
d$Año <- anio
names(d)[1] <- "decil"
names(d)[2] <- "Comuna"
names(d)[3] <- "nivel_educ_padre"
names(d)[4] <- "Alfabetismo"
names(d)[5] <- "Etnia"
names(d)[6] <- "sexo"
codigos_comunales <- readRDS(file = comunales)
names(codigos_comunales)[1] <- "Código"
names(codigos_comunales)[2] <- "Comuna"
# codigos_comunales
df = merge( x = d, y = codigos_comunales, by = "Comuna", all.x = TRUE)
ingreso_rds <- paste("tablas_peque/decil_nivel_educ_padre_",anio,".rds", sep="")
saveRDS(df,ingreso_rds)
# print(head(df,10))
}
for (n in 1:6){
funcion1(n)
}
Homologación de categorías de respuesta con código independiente para la variable de estudio de la ttcc y creación de la tabla general.
receptaculo <- data.frame()
for (n in 1 : 6){
numero <- switch(n, "2006","2009","2011","2013","2015","2017")
direc_tablas <- paste("tablas_peque/decil_nivel_educ_padre_",numero,".rds", sep="")
tablas <- readRDS(direc_tablas)
receptaculo <<- rbind(receptaculo, tablas)
}
Para la creación del diccionario se necesita el dataset “receptáculo” al que se le hará un unique() en la columna a la que se le hará el diccionario, luego se guarda como xlsx para hacer el tratamiento
# receptaculo_unicos <- unique(receptaculo$nivel_educ_padre)
# receptaculo_unicos <- as.data.frame(receptaculo_unicos)
# write_xlsx(receptaculo_unicos,"diccionario/diccionario_nivel_educ_padre.xlsx")
alfabetismo <- read_xlsx("diccionario/alfabetismo_unicos.xlsx")
kbl(alfabetismo) %>%
kable_styling(bootstrap_options = c("striped", "hover")) %>%
kable_paper() %>%
scroll_box(width = "100%", height = "300px")
Alfabetismo | cat_alfa | codigo_alfabetismo |
---|---|---|
No | No | 002 |
No, sólo lee | No | 002 |
No, ninguno | No | 002 |
No, sólo escribe | No | 002 |
No sabe /Sin dato | NS/NR | 003 |
NS/NR | NS/NR | 003 |
No sabe/responde | NS/NR | 003 |
Sí | Sí | 001 |
Sí, lee y escribe | Sí | 001 |
categorias <- read_xlsx("diccionario/categorias_etnia.xlsx")
kbl(categorias) %>%
kable_styling(bootstrap_options = c("striped", "hover")) %>%
kable_paper() %>%
scroll_box(width = "100%", height = "300px")
Etnia | categorias_etnicas | codigo_etnia |
---|---|---|
Kawashkar o Alacalufes | Alacalufes | 001 |
Kawaskar | Alacalufes | 001 |
Kawésqar | Alacalufes | 001 |
Kawésqar (Alacalufes) | Alacalufes | 001 |
Atacameño | Atacameño | 002 |
Atacameño (Likán Antai) | Atacameño | 002 |
Atacameño (Likan-Antai) | Atacameño | 002 |
Atacameño (Likán-Antai) | Atacameño | 002 |
Aimara | Aymara | 003 |
Aymara | Aymara | 003 |
Collas | Coya | 004 |
Coya | Coya | 004 |
Diaguita | Diaguita | 005 |
Mapuche | Mapuche | 006 |
No pertenece a ningún pueblo indígena | No pertenece a ningún pueblo indígena | 007 |
No sabe/no responde | No pertenece a ningún pueblo indígena | 007 |
NS/NR | No pertenece a ningún pueblo indígena | 007 |
Sin dato | No pertenece a ningún pueblo indígena | 007 |
Rapa Nui | Pascuense | 008 |
Rapa Nui (Pascuense) | Pascuense | 008 |
Rapa-Nui o Pascuenses | Pascuense | 008 |
Quechua | Quechua | 009 |
Yagan | Yagán | 010 |
Yagán | Yagán | 010 |
Yagán (Yámana) | Yagán | 010 |
Yámana o Yagán | Yagán | 010 |
cat_disc <- read_xlsx("diccionario/diccionario_nivel_educ_padre.xlsx")
kbl(cat_disc) %>%
kable_styling(bootstrap_options = c("striped", "hover")) %>%
kable_paper() %>%
scroll_box(width = "100%", height = "300px")
nivel_educ_padre | cat_nivel_educ_padre |
---|---|
Educación Básica | Básica |
Educación básica (preparatoria) | Básica |
Preparatoria | Básica |
Primaria o Preparatoria (S. Antiguo) | Básica |
Primaria o Preparatoria (sistema antiguo) | Básica |
Educación Parvularia | Educación Parvularia |
Educación universitaria | Educación universitaria |
Educ. media científico humanista | Media |
Educ. media técnica profesional | Media |
Educación media CH-TP (humanidades) | Media |
Educación Media Científico-Humanista | Media |
Humanidades (S. Antiguo) | Media |
Humanidades (Sist. antiguo) | Media |
Humanidades (sistema antiguo) | Media |
Educación Media Técnica Profesional | Media tecnica |
No aplica | NA |
No estudió (incluye preparatoria o básica incompleta) | NA |
No sabe | NA |
No sabe no recuerda | NA |
No sabe/No recuerda | NA |
Ninguno | Ninguno |
Nunca asistió | Nunca asistió |
Postgrado | Postgrado |
Profesional | Profesional |
Profesional (carrera de 4 ó más años) | Profesional |
Universitario | Profesional |
Centro de formación técnica (CFT) | Profesional tecnica |
Educación técnica de nivel superior | Profesional tecnica |
Instituto Profesional | Profesional tecnica |
Técnica, comercial, industrial o normalista | Profesional tecnica |
Técnica, Comercial, Industrial o Normalista (S. Antiguo) | Profesional tecnica |
Técnica, Comercial, Industrial o Normalista (sistema antiguo) | Profesional tecnica |
Técnica, Comercial, Industrial, Normalista (S. Antiguo) | Profesional tecnica |
Técnico Nivel Superior | Profesional tecnica |
Técnico Nivel Superior (carrera de 1 a 3 año) | Profesional tecnica |
Técnico Nivel Superior (carrera de 1 a 3 años) | Profesional tecnica |
cod_cat <- unique(cat_disc$cat_nivel_educ_padre)
cod_cat<- as.data.frame(cod_cat)
rango <- seq(1:nrow(cod_cat))
cadena<- paste("000",seq(1:nrow(cod_cat)), sep = "")
cadena <- substr(cadena,(nchar(cadena)[rango])-(4-2),5)
cod_cat$codigo_nivel_educ_padre <- cadena
names(cod_cat)[1] <- "cat_nivel_educ_padre"
cat_disc = merge( x = cat_disc, y = cod_cat, by = "cat_nivel_educ_padre", all.x = TRUE)
cat_disc <- cat_disc[,c(2,1,3)]
nuevas_cat = merge( x = receptaculo, y = alfabetismo, by = "Alfabetismo", all.x = TRUE)
alfa_corr <- nuevas_cat[,c(-1)]
categoriasbuenas = merge( x = alfa_corr, y = categorias, by = "Etnia", all.x = TRUE)
etnia_corr <- categoriasbuenas[,c(-1)]
categoriasbuenas = merge( x = etnia_corr, y = cat_disc, by = "nivel_educ_padre", all.x = TRUE)
discapacidad_corr <- categoriasbuenas[,c(-1)]
receptaculo<-discapacidad_corr[,c(1,2,11,12,10,9,7,8,3,4,5,6)]
# receptaculo<-discapacidad_corr[,c(1,10,11,8,9,6,7,2,3,4,5)]
names(receptaculo)[1] <- "comuna"
names(receptaculo)[3] <- "nivel_educ_padre"
names(receptaculo)[5] <- "etnia"
names(receptaculo)[7] <- "alfabetismo"
names(receptaculo)[9] <- "sexo"
names(receptaculo)[10] <- "frec"
names(receptaculo)[11] <- "anio"
names(receptaculo)[12] <- "codigo_comuna"
receptaculo_tab <- receptaculo[1:30,]
kbl(receptaculo_tab) %>%
kable_styling(bootstrap_options = c("striped", "hover")) %>%
kable_paper() %>%
scroll_box(width = "100%", height = "500px")
comuna | decil | nivel_educ_padre | codigo_nivel_educ_padre | etnia | categorias_etnicas | alfabetismo | codigo_alfabetismo | sexo | frec | anio | codigo_comuna |
---|---|---|---|---|---|---|---|---|---|---|---|
San José de Maipo | VII | Profesional tecnica | 011 | 007 | No pertenece a ningún pueblo indígena | Sí | 001 | Mujer | 13 | 2009 | 13203 |
Cartagena | I | Profesional tecnica | 011 | 007 | No pertenece a ningún pueblo indígena | Sí | 001 | Mujer | 44 | 2009 | 05603 |
Chanco | V | Profesional tecnica | 011 | 007 | No pertenece a ningún pueblo indígena | Sí | 001 | Mujer | 10 | 2009 | 07202 |
Cerro Navia | IX | Profesional tecnica | 011 | 007 | No pertenece a ningún pueblo indígena | Sí | 001 | Mujer | 109 | 2009 | 13103 |
Lampa | VIII | Profesional tecnica | 011 | 007 | No pertenece a ningún pueblo indígena | Sí | 001 | Hombre | 137 | 2009 | 13302 |
Zapallar | II | Profesional tecnica | 011 | 007 | No pertenece a ningún pueblo indígena | Sí | 001 | Mujer | 4 | 2009 | 05405 |
Providencia | VIII | Profesional tecnica | 011 | 007 | No pertenece a ningún pueblo indígena | Sí | 001 | Mujer | 222 | 2009 | 13123 |
Frutillar | IX | Profesional tecnica | 011 | 007 | No pertenece a ningún pueblo indígena | Sí | 001 | Mujer | 46 | 2009 | 10105 |
Las Condes | IX | Profesional tecnica | 011 | 007 | No pertenece a ningún pueblo indígena | Sí | 001 | Mujer | 477 | 2009 | 13114 |
Santa María | VIII | Profesional tecnica | 011 | 007 | No pertenece a ningún pueblo indígena | Sí | 001 | Mujer | 16 | 2009 | 05706 |
Olmué | VIII | Profesional tecnica | 011 | 007 | No pertenece a ningún pueblo indígena | Sí | 001 | Mujer | 21 | 2009 | 05803 |
Concepción | VIII | Profesional tecnica | 011 | 007 | No pertenece a ningún pueblo indígena | Sí | 001 | Hombre | 704 | 2009 | 08101 |
La Cisterna | V | Profesional tecnica | 011 | 007 | No pertenece a ningún pueblo indígena | Sí | 001 | Mujer | 66 | 2009 | 13109 |
San José de Maipo | I | Profesional tecnica | 011 | 007 | No pertenece a ningún pueblo indígena | Sí | 001 | Hombre | 11 | 2009 | 13203 |
Arica | IV | Profesional tecnica | 011 | 007 | No pertenece a ningún pueblo indígena | Sí | 001 | Hombre | 122 | 2009 | 15101 |
Conchalí | II | Profesional tecnica | 011 | 007 | No pertenece a ningún pueblo indígena | Sí | 001 | Mujer | 65 | 2009 | 13104 |
San Pedro de Atacama | VI | Profesional tecnica | 011 | 007 | No pertenece a ningún pueblo indígena | Sí | 001 | Mujer | 7 | 2009 | 02203 |
Lebu | V | Profesional tecnica | 011 | 007 | No pertenece a ningún pueblo indígena | Sí | 001 | Hombre | 71 | 2009 | 08201 |
San Miguel | VIII | Profesional tecnica | 011 | 007 | No pertenece a ningún pueblo indígena | Sí | 001 | Mujer | 385 | 2009 | 13130 |
Quilpué | VI | Profesional tecnica | 011 | 007 | No pertenece a ningún pueblo indígena | Sí | 001 | Hombre | 133 | 2009 | 05801 |
Puchuncaví | X | Profesional tecnica | 011 | 007 | No pertenece a ningún pueblo indígena | Sí | 001 | Hombre | 23 | 2009 | 05105 |
Santa María | VIII | Profesional tecnica | 011 | 007 | No pertenece a ningún pueblo indígena | Sí | 001 | Hombre | 16 | 2009 | 05706 |
La Reina | X | Profesional tecnica | 011 | 007 | No pertenece a ningún pueblo indígena | Sí | 001 | Hombre | 356 | 2009 | 13113 |
Viña del Mar | V | Profesional tecnica | 011 | 007 | No pertenece a ningún pueblo indígena | Sí | 001 | Mujer | 244 | 2009 | 05109 |
Puyehue | X | Profesional tecnica | 011 | 007 | No pertenece a ningún pueblo indígena | Sí | 001 | Hombre | 16 | 2009 | 10304 |
Talagante | IX | Profesional tecnica | 011 | 007 | No pertenece a ningún pueblo indígena | Sí | 001 | Mujer | 63 | 2009 | 13601 |
La Serena | VIII | Profesional tecnica | 011 | 007 | No pertenece a ningún pueblo indígena | Sí | 001 | Mujer | 109 | 2009 | 04101 |
Papudo | V | Profesional tecnica | 011 | 007 | No pertenece a ningún pueblo indígena | Sí | 001 | Mujer | 5 | 2009 | 05403 |
Vicuña | IV | Profesional tecnica | 011 | 007 | No pertenece a ningún pueblo indígena | Sí | 001 | Mujer | 45 | 2009 | 04106 |
Las Condes | I | Profesional tecnica | 011 | 007 | No pertenece a ningún pueblo indígena | Sí | 001 | Hombre | 255 | 2009 | 13114 |
El siguiente código establece una conexión con nuestra base de datos en postgres donde estaremos guardando la tabla resultado del código previo. También se guardará la tabla de forma local en formato xlsx
# db <- 'trabajo-con-casen' #provide the name of your db
# host_db <- 'post-to-r.postgres.database.azure.com' #i.e. # i.e. 'ec2-54-83-201-96.compute-1.amazonaws.com'
# db_port <- '5432' # or any other port specified by the DBA
# db_user <- 'yomismo@post-to-r'
# db_password <- '123456Fg*'
# con <- dbConnect(RPostgres::Postgres(), dbname = db, host=host_db, port=db_port, user=db_user, password=db_password)
#
# library('RPostgreSQL')
# # tn <- 'links'
# dbWriteTable(con,'entrega_5_decil_nivel_educ_padre',receptaculo, row.names=FALSE)
write_xlsx(receptaculo,"tablas_grandes/entrega_4_decil_nivel_educ_padre.xlsx")
# receptaculo <- read_xlsx("tablas_grandes/decil_nivel_educ_padre.xlsx")
# head(receptaculo,3)
# tabla_grande <- dbGetQuery(con, 'SELECT * FROM tabla_discapacidad')
# tabla_grande
p1 <- plot_ly(receptaculo , x = ~anio , color = ~nivel_educ_padre) %>% add_histogram() %>%
layout(title = "Ha tenido enfermedad o accidente",
xaxis = list(title = "Años"),showlegend = TRUE, autosize = F, legend = list(font = list(size = 8)))
p1
## Warning in RColorBrewer::brewer.pal(N, "Set2"): n too large, allowed maximum for palette Set2 is 8
## Returning the palette you asked for with that many colors
## Warning in RColorBrewer::brewer.pal(N, "Set2"): n too large, allowed maximum for palette Set2 is 8
## Returning the palette you asked for with that many colors
p2 <- plot_ly(receptaculo , x = ~etnia , color = ~nivel_educ_padre) %>% add_histogram()%>%
layout(title = "Discapacidad por grupo etnico",
xaxis = list(title = "Etnia"),showlegend = TRUE, autosize = F, legend = list(font = list(size = 8)))
p2
## Warning in RColorBrewer::brewer.pal(N, "Set2"): n too large, allowed maximum for palette Set2 is 8
## Returning the palette you asked for with that many colors
## Warning in RColorBrewer::brewer.pal(N, "Set2"): n too large, allowed maximum for palette Set2 is 8
## Returning the palette you asked for with that many colors
¿Cuál fue el máximo nivel educacional que completó?
funcion1 <- function(n){
comunales<-switch(n, "codigos_comunales_2006.rds","codigos_comunales_2009.rds","codigos_comunales_2011-2017.rds","codigos_comunales_2011-2017.rds","codigos_comunales_2011-2017.rds","codigos_comunales_2011-2017.rds")
xx<-switch(n, "2006","2009","2011","2013","2015","2017")
# dataset_06 <<- NA
if(xx==2006) {
eliminated <- dataset_2006
# a <- eliminated$ytotaj
b <- eliminated$COMUNA
c <- eliminated$T14A
d <- eliminated$E1 #alfabetismo
e <- eliminated$T4 #etnia
f <- eliminated$SEXO
anio <- 2006
cross_tab = xtabs(eliminated$EXPC ~ + unlist(b) + unlist(c) + unlist(d) + unlist(e)+ unlist(f) ,aggregate(eliminated$EXPC ~ + unlist(b) + unlist(c) + unlist(d) + unlist(e)+ unlist(f),eliminated,mean))
}
if(xx==2009) {
eliminated <- dataset_2009
# a <- eliminated$ytotaj
b <- eliminated$COMUNA
c <- eliminated$T16PT
d <- eliminated$E1 #alfabetismo
e <- eliminated$T5 #etnia
f <- eliminated$SEXO
anio <- 2009
cross_tab = xtabs(eliminated$EXPC ~ + unlist(b) + unlist(c) + unlist(d) + unlist(e)+ unlist(f) ,aggregate(eliminated$EXPC ~ + unlist(b) + unlist(c) + unlist(d) + unlist(e)+ unlist(f),eliminated,mean))
}
if(xx==2011) {
eliminated <- dataset_2011
# a <- eliminated$ytotaj
b <- eliminated$comuna
c <- eliminated$r5pn
d <- eliminated$e1 #alfabetismo
e <- eliminated$r6 #etnia
f <- eliminated$sexo
anio <- 2011
cross_tab = xtabs(eliminated$expc_full ~ + unlist(b) + unlist(c) + unlist(d) + unlist(e)+ unlist(f) ,aggregate(eliminated$expc_full ~ + unlist(b) + unlist(c) + unlist(d) + unlist(e)+ unlist(f),eliminated,mean))
}
if(xx==2013) {
eliminated <- dataset_2013
# a <- eliminated$ytotcor
b <- eliminated$comuna
c <- eliminated$r4pn
d <- eliminated$e1 #alfabetismo
e <- eliminated$r6 #etnia
f <- eliminated$sexo
anio <- 2013
cross_tab = xtabs(eliminated$expc ~ + unlist(b) + unlist(c) + unlist(d) + unlist(e)+ unlist(f) ,aggregate(eliminated$expc ~ + unlist(b) + unlist(c) + unlist(d) + unlist(e)+ unlist(f),eliminated,mean))
}
if(xx==2015) {
eliminated <- dataset_2015
# a <- eliminated$ytotcor
b <- eliminated$comuna
c <- eliminated$r10b
d <- eliminated$e1 #alfabetismo
e <- eliminated$r3 #etnia
f <- eliminated$sexo
anio <- 2015
cross_tab = xtabs(eliminated$expc_todas ~ + unlist(b) + unlist(c) + unlist(d) + unlist(e)+ unlist(f) ,aggregate(eliminated$expc_todas ~ + unlist(b) + unlist(c) + unlist(d) + unlist(e)+ unlist(f),eliminated,mean))
}
if(xx==2017) {
eliminated <- dataset_2017
# a <- eliminated$ytotcor
b <- eliminated$comuna
c <- eliminated$r12b
d <- eliminated$e1 #alfabetismo
e <- eliminated$r3 #etnia
f <- eliminated$sexo
anio <- 2017
cross_tab = xtabs(eliminated$expc ~ + unlist(b) + unlist(c) + unlist(d) + unlist(e)+ unlist(f) ,aggregate(eliminated$expc ~ + unlist(b) + unlist(c) + unlist(d) + unlist(e)+ unlist(f),eliminated,mean))
}
tabla <- as.data.frame(cross_tab)
d <-tabla[!(tabla$Freq == 0),]
d$Año <- anio
names(d)[1] <- "Comuna"
names(d)[2] <- "nivel_educ_padre"
names(d)[3] <- "Alfabetismo"
names(d)[4] <- "Etnia"
names(d)[5] <- "sexo"
codigos_comunales <- readRDS(file = comunales)
names(codigos_comunales)[1] <- "Código"
names(codigos_comunales)[2] <- "Comuna"
# codigos_comunales
df = merge( x = d, y = codigos_comunales, by = "Comuna", all.x = TRUE)
ingreso_rds <- paste("tablas_peque/nivel_educ_padre_",anio,".rds", sep="")
saveRDS(df,ingreso_rds)
# print(head(df,10))
}
for (n in 1:6){
funcion1(n)
}
Homologación de categorías de respuesta con código independiente para la variable de estudio de la ttcc y creación de la tabla general.
receptaculo <- data.frame()
for (n in 1 : 6){
numero <- switch(n, "2006","2009","2011","2013","2015","2017")
direc_tablas <- paste("tablas_peque/nivel_educ_padre_",numero,".rds", sep="")
tablas <- readRDS(direc_tablas)
receptaculo <<- rbind(receptaculo, tablas)
}
Para la creación del diccionario se necesita el dataset “receptáculo” al que se le hará un unique() en la columna a la que se le hará el diccionario, luego se guarda como xlsx para hacer el tratamiento
# receptaculo_unicos <- unique(receptaculo$enfermedad_accidente)
# receptaculo_unicos <- as.data.frame(receptaculo_unicos)
# write_xlsx(receptaculo_unicos,"diccionario/unico_enfermedad_accidente.xlsx")
alfabetismo <- read_xlsx("diccionario/alfabetismo_unicos.xlsx")
kbl(alfabetismo) %>%
kable_styling(bootstrap_options = c("striped", "hover")) %>%
kable_paper() %>%
scroll_box(width = "100%", height = "300px")
Alfabetismo | cat_alfa | codigo_alfabetismo |
---|---|---|
No | No | 002 |
No, sólo lee | No | 002 |
No, ninguno | No | 002 |
No, sólo escribe | No | 002 |
No sabe /Sin dato | NS/NR | 003 |
NS/NR | NS/NR | 003 |
No sabe/responde | NS/NR | 003 |
Sí | Sí | 001 |
Sí, lee y escribe | Sí | 001 |
categorias <- read_xlsx("diccionario/categorias_etnia.xlsx")
kbl(categorias) %>%
kable_styling(bootstrap_options = c("striped", "hover")) %>%
kable_paper() %>%
scroll_box(width = "100%", height = "300px")
Etnia | categorias_etnicas | codigo_etnia |
---|---|---|
Kawashkar o Alacalufes | Alacalufes | 001 |
Kawaskar | Alacalufes | 001 |
Kawésqar | Alacalufes | 001 |
Kawésqar (Alacalufes) | Alacalufes | 001 |
Atacameño | Atacameño | 002 |
Atacameño (Likán Antai) | Atacameño | 002 |
Atacameño (Likan-Antai) | Atacameño | 002 |
Atacameño (Likán-Antai) | Atacameño | 002 |
Aimara | Aymara | 003 |
Aymara | Aymara | 003 |
Collas | Coya | 004 |
Coya | Coya | 004 |
Diaguita | Diaguita | 005 |
Mapuche | Mapuche | 006 |
No pertenece a ningún pueblo indígena | No pertenece a ningún pueblo indígena | 007 |
No sabe/no responde | No pertenece a ningún pueblo indígena | 007 |
NS/NR | No pertenece a ningún pueblo indígena | 007 |
Sin dato | No pertenece a ningún pueblo indígena | 007 |
Rapa Nui | Pascuense | 008 |
Rapa Nui (Pascuense) | Pascuense | 008 |
Rapa-Nui o Pascuenses | Pascuense | 008 |
Quechua | Quechua | 009 |
Yagan | Yagán | 010 |
Yagán | Yagán | 010 |
Yagán (Yámana) | Yagán | 010 |
Yámana o Yagán | Yagán | 010 |
cat_disc <- read_xlsx("diccionario/diccionario_nivel_educ_padre.xlsx")
kbl(cat_disc) %>%
kable_styling(bootstrap_options = c("striped", "hover")) %>%
kable_paper() %>%
scroll_box(width = "100%", height = "300px")
nivel_educ_padre | cat_nivel_educ_padre |
---|---|
Educación Básica | Básica |
Educación básica (preparatoria) | Básica |
Preparatoria | Básica |
Primaria o Preparatoria (S. Antiguo) | Básica |
Primaria o Preparatoria (sistema antiguo) | Básica |
Educación Parvularia | Educación Parvularia |
Educación universitaria | Educación universitaria |
Educ. media científico humanista | Media |
Educ. media técnica profesional | Media |
Educación media CH-TP (humanidades) | Media |
Educación Media Científico-Humanista | Media |
Humanidades (S. Antiguo) | Media |
Humanidades (Sist. antiguo) | Media |
Humanidades (sistema antiguo) | Media |
Educación Media Técnica Profesional | Media tecnica |
No aplica | NA |
No estudió (incluye preparatoria o básica incompleta) | NA |
No sabe | NA |
No sabe no recuerda | NA |
No sabe/No recuerda | NA |
Ninguno | Ninguno |
Nunca asistió | Nunca asistió |
Postgrado | Postgrado |
Profesional | Profesional |
Profesional (carrera de 4 ó más años) | Profesional |
Universitario | Profesional |
Centro de formación técnica (CFT) | Profesional tecnica |
Educación técnica de nivel superior | Profesional tecnica |
Instituto Profesional | Profesional tecnica |
Técnica, comercial, industrial o normalista | Profesional tecnica |
Técnica, Comercial, Industrial o Normalista (S. Antiguo) | Profesional tecnica |
Técnica, Comercial, Industrial o Normalista (sistema antiguo) | Profesional tecnica |
Técnica, Comercial, Industrial, Normalista (S. Antiguo) | Profesional tecnica |
Técnico Nivel Superior | Profesional tecnica |
Técnico Nivel Superior (carrera de 1 a 3 año) | Profesional tecnica |
Técnico Nivel Superior (carrera de 1 a 3 años) | Profesional tecnica |
cod_cat <- unique(cat_disc$cat_nivel_educ_padre)
cod_cat<- as.data.frame(cod_cat)
rango <- seq(1:nrow(cod_cat))
cadena<- paste("000",seq(1:nrow(cod_cat)), sep = "")
cadena <- substr(cadena,(nchar(cadena)[rango])-(4-2),5)
cod_cat$codigo_nivel_educ_padre <- cadena
names(cod_cat)[1] <- "cat_nivel_educ_padre"
cat_disc = merge( x = cat_disc, y = cod_cat, by = "cat_nivel_educ_padre", all.x = TRUE)
cat_disc <- cat_disc[,c(2,1,3)]
nuevas_cat = merge( x = receptaculo, y = alfabetismo, by = "Alfabetismo", all.x = TRUE)
alfa_corr <- nuevas_cat[,c(-1)]
categoriasbuenas = merge( x = alfa_corr, y = categorias, by = "Etnia", all.x = TRUE)
etnia_corr <- categoriasbuenas[,c(-1)]
categoriasbuenas = merge( x = etnia_corr, y = cat_disc, by = "nivel_educ_padre", all.x = TRUE)
discapacidad_corr <- categoriasbuenas[,c(-1)]
receptaculo<-discapacidad_corr[,c(1,10,11,8,9,6,7,2,3,4,5)]
names(receptaculo)[1] <- "comuna"
names(receptaculo)[2] <- "nivel_educ_padre"
names(receptaculo)[4] <- "etnia"
names(receptaculo)[6] <- "alfabetismo"
names(receptaculo)[8] <- "sexo"
names(receptaculo)[9] <- "frec"
names(receptaculo)[10] <- "anio"
names(receptaculo)[11] <- "codigo_comuna"
receptaculo_tab <- receptaculo[1:30,]
kbl(receptaculo_tab) %>%
kable_styling(bootstrap_options = c("striped", "hover")) %>%
kable_paper() %>%
scroll_box(width = "100%", height = "500px")
comuna | nivel_educ_padre | codigo_nivel_educ_padre | etnia | codigo_etnia | alfabetismo | codigo_alfabetismo | sexo | frec | anio | codigo_comuna |
---|---|---|---|---|---|---|---|---|---|---|
San Pedro de la Paz | Profesional tecnica | 011 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 109 | 2009 | 08108 |
Puente Alto | Profesional tecnica | 011 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 1280 | 2009 | 13201 |
San Antonio | Profesional tecnica | 011 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 384 | 2009 | 05601 |
Chillán Viejo | Profesional tecnica | 011 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Hombre | 37 | 2009 | 16103 |
Primavera | Profesional tecnica | 011 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 2 | 2009 | 12302 |
Lampa | Profesional tecnica | 011 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 314 | 2009 | 13302 |
Chile Chico | Profesional tecnica | 011 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Hombre | 11 | 2009 | 11401 |
Lanco | Profesional tecnica | 011 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 19 | 2009 | 14103 |
Cochamó | Profesional tecnica | 011 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Hombre | 15 | 2009 | 10103 |
Placilla | Profesional tecnica | 011 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 71 | 2009 | 06308 |
Maipú | Profesional tecnica | 011 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 2660 | 2009 | 13119 |
Aysén | Profesional tecnica | 011 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Hombre | 22 | 2009 | 11201 |
Cauquenes | Profesional tecnica | 011 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Hombre | 50 | 2009 | 07201 |
Licantén | Profesional tecnica | 011 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Hombre | 27 | 2009 | 07303 |
Puyehue | Profesional tecnica | 011 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Hombre | 16 | 2009 | 10304 |
Las Condes | Profesional tecnica | 011 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Hombre | 2389 | 2009 | 13114 |
Hualpén | Profesional tecnica | 011 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 184 | 2009 | 08112 |
Quilaco | Profesional tecnica | 011 | Mapuche | 006 | Sí | 001 | Mujer | 6 | 2009 | 08308 |
Arauco | Profesional tecnica | 011 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 134 | 2009 | 08202 |
Purranque | Profesional tecnica | 011 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 35 | 2009 | 10303 |
Penco | Profesional tecnica | 011 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Hombre | 5 | 2009 | 08107 |
Puerto Montt | Profesional tecnica | 011 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 133 | 2009 | 10101 |
La Granja | Profesional tecnica | 011 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 178 | 2009 | 13111 |
Cerrillos | Profesional tecnica | 011 | Mapuche | 006 | Sí | 001 | Mujer | 87 | 2009 | 13102 |
Quellón | Profesional tecnica | 011 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Hombre | 17 | 2009 | 10208 |
Quilicura | Profesional tecnica | 011 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 279 | 2009 | 13125 |
Talca | Profesional tecnica | 011 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Hombre | 171 | 2009 | 07101 |
Pelluhue | Profesional tecnica | 011 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Hombre | 12 | 2009 | 07203 |
Teodoro Schmidt | Profesional tecnica | 011 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 59 | 2009 | 09117 |
Frutillar | Profesional tecnica | 011 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 46 | 2009 | 10105 |
El siguiente código establece una conexión con nuestra base de datos en postgres donde estaremos guardando la tabla resultado del código previo. También se guardará la tabla de forma local en formato xlsx
# db <- 'trabajo-con-casen' #provide the name of your db
# host_db <- 'post-to-r.postgres.database.azure.com' #i.e. # i.e. 'ec2-54-83-201-96.compute-1.amazonaws.com'
# db_port <- '5432' # or any other port specified by the DBA
# db_user <- 'yomismo@post-to-r'
# db_password <- '123456Fg*'
# con <- dbConnect(RPostgres::Postgres(), dbname = db, host=host_db, port=db_port, user=db_user, password=db_password)
#
# library('RPostgreSQL')
# tn <- 'links'
# dbWriteTable(con,'tabla_discapacidad',receptaculo, row.names=FALSE)
write_xlsx(receptaculo,"tablas_grandes/entrega_4_nivel_educ_padre.xlsx")
# receptaculo <- read_xlsx("tablas_grandes/4_nivel_educ_padre.xlsx")
# head(receptaculo,3)
# tabla_grande <- dbGetQuery(con, 'SELECT * FROM tabla_discapacidad')
# tabla_grande
p1 <- plot_ly(receptaculo , x = ~anio , color = ~nivel_educ_padre) %>% add_histogram() %>%
layout(title = "Ha tenido enfermedad o accidente",
xaxis = list(title = "Años"),showlegend = TRUE, autosize = F, legend = list(font = list(size = 8)))
p1
## Warning in RColorBrewer::brewer.pal(N, "Set2"): n too large, allowed maximum for palette Set2 is 8
## Returning the palette you asked for with that many colors
## Warning in RColorBrewer::brewer.pal(N, "Set2"): n too large, allowed maximum for palette Set2 is 8
## Returning the palette you asked for with that many colors
p2 <- plot_ly(receptaculo , x = ~etnia , color = ~nivel_educ_padre) %>% add_histogram()%>%
layout(title = "Discapacidad por grupo etnico",
xaxis = list(title = "Etnia"),showlegend = TRUE, autosize = F, legend = list(font = list(size = 8)))
p2
## Warning in RColorBrewer::brewer.pal(N, "Set2"): n too large, allowed maximum for palette Set2 is 8
## Returning the palette you asked for with that many colors
## Warning in RColorBrewer::brewer.pal(N, "Set2"): n too large, allowed maximum for palette Set2 is 8
## Returning the palette you asked for with that many colors
¿Cuál fue el máximo nivel educacional que completó? Su Madre
funcion1 <- function(n){
comunales<-switch(n, "codigos_comunales_2006.rds","codigos_comunales_2009.rds","codigos_comunales_2011-2017.rds","codigos_comunales_2011-2017.rds","codigos_comunales_2011-2017.rds","codigos_comunales_2011-2017.rds")
xx<-switch(n, "2006","2009","2011","2013","2015","2017")
# dataset_06 <<- NA
if(xx==2006) {
eliminated <- dataset_2006
# a <- eliminated$ytotaj
b <- eliminated$COMUNA
c <- eliminated$T14B
d <- eliminated$E1 #alfabetismo
e <- eliminated$T4 #etnia
f <- eliminated$SEXO
anio <- 2006
cross_tab = xtabs(eliminated$EXPC ~ + unlist(b) + unlist(c) + unlist(d) + unlist(e)+ unlist(f) ,aggregate(eliminated$EXPC ~ + unlist(b) + unlist(c) + unlist(d) + unlist(e)+ unlist(f),eliminated,mean))
}
if(xx==2009) {
eliminated <- dataset_2009
# a <- eliminated$ytotaj
b <- eliminated$COMUNA
c <- eliminated$T16MT
d <- eliminated$E1 #alfabetismo
e <- eliminated$T5 #etnia
f <- eliminated$SEXO
anio <- 2009
cross_tab = xtabs(eliminated$EXPC ~ + unlist(b) + unlist(c) + unlist(d) + unlist(e)+ unlist(f) ,aggregate(eliminated$EXPC ~ + unlist(b) + unlist(c) + unlist(d) + unlist(e)+ unlist(f),eliminated,mean))
}
if(xx==2011) {
eliminated <- dataset_2011
# a <- eliminated$ytotaj
b <- eliminated$comuna
c <- eliminated$r4mn
d <- eliminated$e1 #alfabetismo
e <- eliminated$r6 #etnia
f <- eliminated$sexo
anio <- 2011
cross_tab = xtabs(eliminated$expc_full ~ + unlist(b) + unlist(c) + unlist(d) + unlist(e)+ unlist(f) ,aggregate(eliminated$expc_full ~ + unlist(b) + unlist(c) + unlist(d) + unlist(e)+ unlist(f),eliminated,mean))
}
if(xx==2013) {
eliminated <- dataset_2013
# a <- eliminated$ytotcor
b <- eliminated$comuna
c <- eliminated$r4mn
d <- eliminated$e1 #alfabetismo
e <- eliminated$r6 #etnia
f <- eliminated$sexo
anio <- 2013
cross_tab = xtabs(eliminated$expc ~ + unlist(b) + unlist(c) + unlist(d) + unlist(e)+ unlist(f) ,aggregate(eliminated$expc ~ + unlist(b) + unlist(c) + unlist(d) + unlist(e)+ unlist(f),eliminated,mean))
}
if(xx==2015) {
eliminated <- dataset_2015
# a <- eliminated$ytotcor
b <- eliminated$comuna
c <- eliminated$r10a
d <- eliminated$e1 #alfabetismo
e <- eliminated$r3 #etnia
f <- eliminated$sexo
anio <- 2015
cross_tab = xtabs(eliminated$expc_todas ~ + unlist(b) + unlist(c) + unlist(d) + unlist(e)+ unlist(f) ,aggregate(eliminated$expc_todas ~ + unlist(b) + unlist(c) + unlist(d) + unlist(e)+ unlist(f),eliminated,mean))
}
if(xx==2017) {
eliminated <- dataset_2017
# a <- eliminated$ytotcor
b <- eliminated$comuna
c <- eliminated$r12a
d <- eliminated$e1 #alfabetismo
e <- eliminated$r3 #etnia
f <- eliminated$sexo
anio <- 2017
cross_tab = xtabs(eliminated$expc ~ + unlist(b) + unlist(c) + unlist(d) + unlist(e)+ unlist(f) ,aggregate(eliminated$expc ~ + unlist(b) + unlist(c) + unlist(d) + unlist(e)+ unlist(f),eliminated,mean))
}
tabla <- as.data.frame(cross_tab)
d <-tabla[!(tabla$Freq == 0),]
d$Año <- anio
names(d)[1] <- "Comuna"
names(d)[2] <- "nivel_educ_madre"
names(d)[3] <- "Alfabetismo"
names(d)[4] <- "Etnia"
names(d)[5] <- "sexo"
codigos_comunales <- readRDS(file = comunales)
names(codigos_comunales)[1] <- "Código"
names(codigos_comunales)[2] <- "Comuna"
# codigos_comunales
df = merge( x = d, y = codigos_comunales, by = "Comuna", all.x = TRUE)
ingreso_rds <- paste("tablas_peque/nivel_educ_madre_",anio,".rds", sep="")
saveRDS(df,ingreso_rds)
# print(head(df,10))
}
for (n in 1:6){
funcion1(n)
}
Homologación de categorías de respuesta con código independiente para la variable de estudio de la ttcc y creación de la tabla general.
receptaculo <- data.frame()
for (n in 1 : 6){
numero <- switch(n, "2006","2009","2011","2013","2015","2017")
direc_tablas <- paste("tablas_peque/nivel_educ_madre_",numero,".rds", sep="")
tablas <- readRDS(direc_tablas)
receptaculo <<- rbind(receptaculo, tablas)
}
Para la creación del diccionario se necesita el dataset “receptáculo” al que se le hará un unique() en la columna a la que se le hará el diccionario, luego se guarda como xlsx para hacer el tratamiento
# receptaculo_unicos <- unique(receptaculo$nivel_educ_madre)
# receptaculo_unicos <- as.data.frame(receptaculo_unicos)
# write_xlsx(receptaculo_unicos,"diccionario/diccionario_nivel_educ_madre.xlsx")
alfabetismo <- read_xlsx("diccionario/alfabetismo_unicos.xlsx")
kbl(alfabetismo) %>%
kable_styling(bootstrap_options = c("striped", "hover")) %>%
kable_paper() %>%
scroll_box(width = "100%", height = "300px")
Alfabetismo | cat_alfa | codigo_alfabetismo |
---|---|---|
No | No | 002 |
No, sólo lee | No | 002 |
No, ninguno | No | 002 |
No, sólo escribe | No | 002 |
No sabe /Sin dato | NS/NR | 003 |
NS/NR | NS/NR | 003 |
No sabe/responde | NS/NR | 003 |
Sí | Sí | 001 |
Sí, lee y escribe | Sí | 001 |
categorias <- read_xlsx("diccionario/categorias_etnia.xlsx")
kbl(categorias) %>%
kable_styling(bootstrap_options = c("striped", "hover")) %>%
kable_paper() %>%
scroll_box(width = "100%", height = "300px")
Etnia | categorias_etnicas | codigo_etnia |
---|---|---|
Kawashkar o Alacalufes | Alacalufes | 001 |
Kawaskar | Alacalufes | 001 |
Kawésqar | Alacalufes | 001 |
Kawésqar (Alacalufes) | Alacalufes | 001 |
Atacameño | Atacameño | 002 |
Atacameño (Likán Antai) | Atacameño | 002 |
Atacameño (Likan-Antai) | Atacameño | 002 |
Atacameño (Likán-Antai) | Atacameño | 002 |
Aimara | Aymara | 003 |
Aymara | Aymara | 003 |
Collas | Coya | 004 |
Coya | Coya | 004 |
Diaguita | Diaguita | 005 |
Mapuche | Mapuche | 006 |
No pertenece a ningún pueblo indígena | No pertenece a ningún pueblo indígena | 007 |
No sabe/no responde | No pertenece a ningún pueblo indígena | 007 |
NS/NR | No pertenece a ningún pueblo indígena | 007 |
Sin dato | No pertenece a ningún pueblo indígena | 007 |
Rapa Nui | Pascuense | 008 |
Rapa Nui (Pascuense) | Pascuense | 008 |
Rapa-Nui o Pascuenses | Pascuense | 008 |
Quechua | Quechua | 009 |
Yagan | Yagán | 010 |
Yagán | Yagán | 010 |
Yagán (Yámana) | Yagán | 010 |
Yámana o Yagán | Yagán | 010 |
cat_disc <- read_xlsx("diccionario/diccionario_nivel_educ_madre.xlsx")
kbl(cat_disc) %>%
kable_styling(bootstrap_options = c("striped", "hover")) %>%
kable_paper() %>%
scroll_box(width = "100%", height = "300px")
nivel_educ_madre | cat_nivel_educ_madre |
---|---|
Centro de formación técnica (CFT) | Profesional tecnica |
Educ. media científico humanista | Media |
Educ. media técnica profesional | Media |
Educación Básica | Básica |
Educación básica (preparatoria) | Básica |
Educación media CH-TP (humanidades) | Media |
Educación Media Científico-Humanista | Media |
Educación Media Técnica Profesional | Media tecnica |
Educación Parvularia | Educación Parvularia |
Educación técnica de nivel superior | Profesional tecnica |
Educación universitaria | Educación universitaria |
Humanidades (S. Antiguo) | Media |
Humanidades (Sist. antiguo) | Media |
Humanidades (sistema antiguo) | Media |
Instituto Profesional | Profesional tecnica |
Ninguno | Ninguno |
No aplica | NA |
No estudió (incluye preparatoria o básica incompleta) | NA |
No sabe | NA |
No sabe no recuerda | NA |
No sabe/No recuerda | NA |
Nunca asistió | Nunca asistió |
Postgrado | Postgrado |
Preparatoria | Básica |
Primaria o Preparatoria (S. Antiguo) | Básica |
Primaria o Preparatoria (sistema antiguo) | Básica |
Profesional | Profesional |
Profesional (carrera de 4 ó más años) | Profesional |
Técnica, comercial, industrial o normalista | Profesional tecnica |
Técnica, Comercial, Industrial o Normalista (S. Antiguo) | Profesional tecnica |
Técnica, Comercial, Industrial o Normalista (sistema antiguo) | Profesional tecnica |
Técnica, Comercial, Industrial, Normalista (S. Antiguo) | Profesional tecnica |
Técnico Nivel Superior | Profesional tecnica |
Técnico Nivel Superior (carrera de 1 a 3 año) | Profesional tecnica |
Técnico Nivel Superior (carrera de 1 a 3 años) | Profesional tecnica |
Universitario | Profesional |
cod_cat <- unique(cat_disc$cat_nivel_educ_madre)
cod_cat<- as.data.frame(cod_cat)
rango <- seq(1:nrow(cod_cat))
cadena<- paste("000",seq(1:nrow(cod_cat)), sep = "")
cadena <- substr(cadena,(nchar(cadena)[rango])-(4-2),5)
cod_cat$codigo_nivel_educ_madre <- cadena
names(cod_cat)[1] <- "cat_nivel_educ_madre"
cat_disc = merge( x = cat_disc, y = cod_cat, by = "cat_nivel_educ_madre", all.x = TRUE)
cat_disc <- cat_disc[,c(2,1,3)]
nuevas_cat = merge( x = receptaculo, y = alfabetismo, by = "Alfabetismo", all.x = TRUE)
alfa_corr <- nuevas_cat[,c(-1)]
categoriasbuenas = merge( x = alfa_corr, y = categorias, by = "Etnia", all.x = TRUE)
etnia_corr <- categoriasbuenas[,c(-1)]
categoriasbuenas = merge( x = etnia_corr, y = cat_disc, by = "nivel_educ_madre", all.x = TRUE)
discapacidad_corr <- categoriasbuenas[,c(-1)]
receptaculo<-discapacidad_corr[,c(1,10,11,8,9,6,7,2,3,4,5)]
names(receptaculo)[1] <- "comuna"
names(receptaculo)[2] <- "nivel_educ_madre"
names(receptaculo)[4] <- "etnia"
names(receptaculo)[6] <- "alfabetismo"
names(receptaculo)[8] <- "sexo"
names(receptaculo)[9] <- "frec"
names(receptaculo)[10] <- "anio"
names(receptaculo)[11] <- "codigo_comuna"
receptaculo_tab <- receptaculo[1:30,]
kbl(receptaculo_tab) %>%
kable_styling(bootstrap_options = c("striped", "hover")) %>%
kable_paper() %>%
scroll_box(width = "100%", height = "500px")
comuna | nivel_educ_madre | codigo_nivel_educ_madre | etnia | codigo_etnia | alfabetismo | codigo_alfabetismo | sexo | frec | anio | codigo_comuna |
---|---|---|---|---|---|---|---|---|---|---|
Arica | Profesional tecnica | 001 | Aymara | 003 | Sí | 001 | Hombre | 57 | 2009 | 15101 |
La Reina | Profesional tecnica | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 745 | 2009 | 13113 |
Cabo de Hornos | Profesional tecnica | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 8 | 2009 | 12201 |
Curaco de Vélez | Profesional tecnica | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 19 | 2009 | 10204 |
Osorno | Profesional tecnica | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 119 | 2009 | 10301 |
Coronel | Profesional tecnica | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 127 | 2009 | 08102 |
Conchalí | Profesional tecnica | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 98 | 2009 | 13104 |
Hualpén | Profesional tecnica | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Hombre | 144 | 2009 | 08112 |
Chillán | Profesional tecnica | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 219 | 2009 | 16101 |
Olmué | Profesional tecnica | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Hombre | 20 | 2009 | 05803 |
Viña del Mar | Profesional tecnica | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 455 | 2009 | 05109 |
Lampa | Profesional tecnica | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Hombre | 137 | 2009 | 13302 |
San Bernardo | Profesional tecnica | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 243 | 2009 | 13401 |
Talcahuano | Profesional tecnica | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Hombre | 466 | 2009 | 08110 |
Hualpén | Profesional tecnica | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 132 | 2009 | 08112 |
Taltal | Profesional tecnica | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Hombre | 13 | 2009 | 02104 |
La Pintana | Profesional tecnica | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 112 | 2009 | 13112 |
Villarrica | Profesional tecnica | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 251 | 2009 | 09120 |
Pirque | Profesional tecnica | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Hombre | 26 | 2009 | 13202 |
San Pedro de la Paz | Profesional tecnica | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Hombre | 221 | 2009 | 08108 |
Villarrica | Profesional tecnica | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Hombre | 212 | 2009 | 09120 |
Teodoro Schmidt | Profesional tecnica | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 59 | 2009 | 09117 |
Pencahue | Profesional tecnica | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 12 | 2009 | 07107 |
Pirque | Profesional tecnica | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 26 | 2009 | 13202 |
Panguipulli | Profesional tecnica | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 102 | 2009 | 14108 |
Illapel | Profesional tecnica | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 50 | 2009 | 04201 |
Ollagüe | Profesional tecnica | 001 | Mapuche | 006 | Sí | 001 | Hombre | 1 | 2009 | 02202 |
Casablanca | Profesional tecnica | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 648 | 2009 | 05102 |
Concón | Profesional tecnica | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 150 | 2009 | 05103 |
Curepto | Profesional tecnica | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 28 | 2009 | 07103 |
El siguiente código establece una conexión con nuestra base de datos en postgres donde estaremos guardando la tabla resultado del código previo. También se guardará la tabla de forma local en formato xlsx
# db <- 'trabajo-con-casen' #provide the name of your db
# host_db <- 'post-to-r.postgres.database.azure.com' #i.e. # i.e. 'ec2-54-83-201-96.compute-1.amazonaws.com'
# db_port <- '5432' # or any other port specified by the DBA
# db_user <- 'yomismo@post-to-r'
# db_password <- '123456Fg*'
# con <- dbConnect(RPostgres::Postgres(), dbname = db, host=host_db, port=db_port, user=db_user, password=db_password)
#
# library('RPostgreSQL')
# tn <- 'links'
# dbWriteTable(con,'tabla_discapacidad',receptaculo, row.names=FALSE)
write_xlsx(receptaculo,"tablas_grandes/entrega_4_nivel_educ_madre.xlsx")
# receptaculo <- read_xlsx("tablas_grandes/4_nivel_educ_padre.xlsx")
# head(receptaculo,3)
# tabla_grande <- dbGetQuery(con, 'SELECT * FROM tabla_discapacidad')
# tabla_grande
p1 <- plot_ly(receptaculo , x = ~anio , color = ~nivel_educ_madre) %>% add_histogram() %>%
layout(title = "Ha tenido enfermedad o accidente",
xaxis = list(title = "Años"),showlegend = TRUE, autosize = F, legend = list(font = list(size = 8)))
p1
## Warning in RColorBrewer::brewer.pal(N, "Set2"): n too large, allowed maximum for palette Set2 is 8
## Returning the palette you asked for with that many colors
## Warning in RColorBrewer::brewer.pal(N, "Set2"): n too large, allowed maximum for palette Set2 is 8
## Returning the palette you asked for with that many colors
p2 <- plot_ly(receptaculo , x = ~etnia , color = ~nivel_educ_madre) %>% add_histogram()%>%
layout(title = "Discapacidad por grupo etnico",
xaxis = list(title = "Etnia"),showlegend = TRUE, autosize = F, legend = list(font = list(size = 8)))
p2
## Warning in RColorBrewer::brewer.pal(N, "Set2"): n too large, allowed maximum for palette Set2 is 8
## Returning the palette you asked for with that many colors
## Warning in RColorBrewer::brewer.pal(N, "Set2"): n too large, allowed maximum for palette Set2 is 8
## Returning the palette you asked for with that many colors
Quintil de Ingreso Autónomo Per cápita Nacional (se excluye el s.d.p.a)
funcion1 <- function(n){
comunales<-switch(n, "codigos_comunales_2006.rds","codigos_comunales_2009.rds","codigos_comunales_2011-2017.rds","codigos_comunales_2011-2017.rds","codigos_comunales_2011-2017.rds","codigos_comunales_2011-2017.rds")
xx<-switch(n, "2006","2009","2011","2013","2015","2017")
# dataset_06 <<- NA
if(xx==2006) {
eliminated <- dataset_2006
# a <- eliminated$ytotaj
b <- eliminated$COMUNA
c <- eliminated$QAUT
d <- eliminated$E1 #alfabetismo
e <- eliminated$T4 #etnia
f <- eliminated$SEXO
anio <- 2006
cross_tab = xtabs(eliminated$EXPC ~ + unlist(b) + unlist(c) + unlist(d) + unlist(e)+ unlist(f) ,aggregate(eliminated$EXPC ~ + unlist(b) + unlist(c) + unlist(d) + unlist(e)+ unlist(f),eliminated,mean))
}
if(xx==2009) {
eliminated <- dataset_2009
# a <- eliminated$ytotaj
b <- eliminated$COMUNA
c <- eliminated$QAUT
d <- eliminated$E1 #alfabetismo
e <- eliminated$T5 #etnia
f <- eliminated$SEXO
anio <- 2009
cross_tab = xtabs(eliminated$EXPC ~ + unlist(b) + unlist(c) + unlist(d) + unlist(e)+ unlist(f) ,aggregate(eliminated$EXPC ~ + unlist(b) + unlist(c) + unlist(d) + unlist(e)+ unlist(f),eliminated,mean))
}
if(xx==2011) {
eliminated <- dataset_2011
# a <- eliminated$ytotaj
b <- eliminated$comuna
c <- eliminated$qaut
d <- eliminated$e1 #alfabetismo
e <- eliminated$r6 #etnia
f <- eliminated$sexo
anio <- 2011
cross_tab = xtabs(eliminated$expc_full ~ + unlist(b) + unlist(c) + unlist(d) + unlist(e)+ unlist(f) ,aggregate(eliminated$expc_full ~ + unlist(b) + unlist(c) + unlist(d) + unlist(e)+ unlist(f),eliminated,mean))
}
if(xx==2013) {
eliminated <- dataset_2013
# a <- eliminated$ytotcor
b <- eliminated$comuna
c <- eliminated$QAUT_MN
d <- eliminated$e1 #alfabetismo
e <- eliminated$r6 #etnia
f <- eliminated$sexo
anio <- 2013
cross_tab = xtabs(eliminated$expc ~ + unlist(b) + unlist(c) + unlist(d) + unlist(e)+ unlist(f) ,aggregate(eliminated$expc ~ + unlist(b) + unlist(c) + unlist(d) + unlist(e)+ unlist(f),eliminated,mean))
}
if(xx==2015) {
eliminated <- dataset_2015
# a <- eliminated$ytotcor
b <- eliminated$comuna
c <- eliminated$qaut
d <- eliminated$e1 #alfabetismo
e <- eliminated$r3 #etnia
f <- eliminated$sexo
anio <- 2015
cross_tab = xtabs(eliminated$expc_todas ~ + unlist(b) + unlist(c) + unlist(d) + unlist(e)+ unlist(f) ,aggregate(eliminated$expc_todas ~ + unlist(b) + unlist(c) + unlist(d) + unlist(e)+ unlist(f),eliminated,mean))
}
if(xx==2017) {
eliminated <- dataset_2017
# a <- eliminated$ytotcor
b <- eliminated$comuna
c <- eliminated$qaut
d <- eliminated$e1 #alfabetismo
e <- eliminated$r3 #etnia
f <- eliminated$sexo
anio <- 2017
cross_tab = xtabs(eliminated$expc ~ + unlist(b) + unlist(c) + unlist(d) + unlist(e)+ unlist(f) ,aggregate(eliminated$expc ~ + unlist(b) + unlist(c) + unlist(d) + unlist(e)+ unlist(f),eliminated,mean))
}
tabla <- as.data.frame(cross_tab)
d <-tabla[!(tabla$Freq == 0),]
d$Año <- anio
names(d)[1] <- "Comuna"
names(d)[2] <- "quintil"
names(d)[3] <- "Alfabetismo"
names(d)[4] <- "Etnia"
names(d)[5] <- "sexo"
codigos_comunales <- readRDS(file = comunales)
names(codigos_comunales)[1] <- "Código"
names(codigos_comunales)[2] <- "Comuna"
# codigos_comunales
df = merge( x = d, y = codigos_comunales, by = "Comuna", all.x = TRUE)
ingreso_rds <- paste("tablas_peque/quintil_",anio,".rds", sep="")
saveRDS(df,ingreso_rds)
# print(head(df,10))
}
for (n in 1:6){
funcion1(n)
}
Homologación de categorías de respuesta con código independiente para la variable de estudio de la ttcc y creación de la tabla general.
receptaculo <- data.frame()
for (n in 1 : 6){
numero <- switch(n, "2006","2009","2011","2013","2015","2017")
direc_tablas <- paste("tablas_peque/quintil_",numero,".rds", sep="")
tablas <- readRDS(direc_tablas)
receptaculo <<- rbind(receptaculo, tablas)
}
Para la creación del diccionario se necesita el dataset “receptáculo” al que se le hará un unique() en la columna a la que se le hará el diccionario, luego se guarda como xlsx para hacer el tratamiento
# receptaculo_unicos <- unique(receptaculo$quintil)
# receptaculo_unicos <- as.data.frame(receptaculo_unicos)
# write_xlsx(receptaculo_unicos,"diccionario/diccionario_quintil.xlsx")
alfabetismo <- read_xlsx("diccionario/alfabetismo_unicos.xlsx")
kbl(alfabetismo) %>%
kable_styling(bootstrap_options = c("striped", "hover")) %>%
kable_paper() %>%
scroll_box(width = "100%", height = "300px")
Alfabetismo | cat_alfa | codigo_alfabetismo |
---|---|---|
No | No | 002 |
No, sólo lee | No | 002 |
No, ninguno | No | 002 |
No, sólo escribe | No | 002 |
No sabe /Sin dato | NS/NR | 003 |
NS/NR | NS/NR | 003 |
No sabe/responde | NS/NR | 003 |
Sí | Sí | 001 |
Sí, lee y escribe | Sí | 001 |
categorias <- read_xlsx("diccionario/categorias_etnia.xlsx")
kbl(categorias) %>%
kable_styling(bootstrap_options = c("striped", "hover")) %>%
kable_paper() %>%
scroll_box(width = "100%", height = "300px")
Etnia | categorias_etnicas | codigo_etnia |
---|---|---|
Kawashkar o Alacalufes | Alacalufes | 001 |
Kawaskar | Alacalufes | 001 |
Kawésqar | Alacalufes | 001 |
Kawésqar (Alacalufes) | Alacalufes | 001 |
Atacameño | Atacameño | 002 |
Atacameño (Likán Antai) | Atacameño | 002 |
Atacameño (Likan-Antai) | Atacameño | 002 |
Atacameño (Likán-Antai) | Atacameño | 002 |
Aimara | Aymara | 003 |
Aymara | Aymara | 003 |
Collas | Coya | 004 |
Coya | Coya | 004 |
Diaguita | Diaguita | 005 |
Mapuche | Mapuche | 006 |
No pertenece a ningún pueblo indígena | No pertenece a ningún pueblo indígena | 007 |
No sabe/no responde | No pertenece a ningún pueblo indígena | 007 |
NS/NR | No pertenece a ningún pueblo indígena | 007 |
Sin dato | No pertenece a ningún pueblo indígena | 007 |
Rapa Nui | Pascuense | 008 |
Rapa Nui (Pascuense) | Pascuense | 008 |
Rapa-Nui o Pascuenses | Pascuense | 008 |
Quechua | Quechua | 009 |
Yagan | Yagán | 010 |
Yagán | Yagán | 010 |
Yagán (Yámana) | Yagán | 010 |
Yámana o Yagán | Yagán | 010 |
cat_disc <- read_xlsx("diccionario/diccionario_quintil.xlsx")
kbl(cat_disc) %>%
kable_styling(bootstrap_options = c("striped", "hover")) %>%
kable_paper() %>%
scroll_box(width = "100%", height = "300px")
quintil | cat_quintil |
---|---|
II | II |
V | V |
IV | IV |
I | I |
III | III |
0 | 0 |
cod_cat <- unique(cat_disc$cat_quintil)
cod_cat<- as.data.frame(cod_cat)
rango <- seq(1:nrow(cod_cat))
cadena<- paste("000",seq(1:nrow(cod_cat)), sep = "")
cadena <- substr(cadena,(nchar(cadena)[rango])-(4-2),5)
cod_cat$codigo_quintil <- cadena
names(cod_cat)[1] <- "cat_quintil"
cat_disc = merge( x = cat_disc, y = cod_cat, by = "cat_quintil", all.x = TRUE)
cat_disc <- cat_disc[,c(2,1,3)]
nuevas_cat = merge( x = receptaculo, y = alfabetismo, by = "Alfabetismo", all.x = TRUE)
alfa_corr <- nuevas_cat[,c(-1)]
categoriasbuenas = merge( x = alfa_corr, y = categorias, by = "Etnia", all.x = TRUE)
etnia_corr <- categoriasbuenas[,c(-1)]
categoriasbuenas = merge( x = etnia_corr, y = cat_disc, by = "quintil", all.x = TRUE)
discapacidad_corr <- categoriasbuenas[,c(-1)]
receptaculo<-discapacidad_corr[,c(1,10,11,8,9,6,7,2,3,4,5)]
names(receptaculo)[1] <- "comuna"
names(receptaculo)[2] <- "quintil"
names(receptaculo)[4] <- "etnia"
names(receptaculo)[6] <- "alfabetismo"
names(receptaculo)[8] <- "sexo"
names(receptaculo)[9] <- "frec"
names(receptaculo)[10] <- "anio"
names(receptaculo)[11] <- "codigo_comuna"
receptaculo_tab <- receptaculo[1:30,]
kbl(receptaculo_tab) %>%
kable_styling(bootstrap_options = c("striped", "hover")) %>%
kable_paper() %>%
scroll_box(width = "100%", height = "500px")
comuna | quintil | codigo_quintil | etnia | codigo_etnia | alfabetismo | codigo_alfabetismo | sexo | frec | anio | codigo_comuna |
---|---|---|---|---|---|---|---|---|---|---|
Primavera | 0 | 006 | Mapuche | 006 | Sí | 001 | Mujer | 42 | 2006 | 12302 |
Primavera | 0 | 006 | Aymara | 003 | Sí | 001 | Mujer | 3 | 2006 | 12302 |
Primavera | 0 | 006 | Mapuche | 006 | Sí | 001 | Hombre | 60 | 2006 | 12302 |
Primavera | 0 | 006 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 168 | 2006 | 12302 |
Primavera | 0 | 006 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Hombre | 189 | 2006 | 12302 |
Primavera | 0 | 006 | No pertenece a ningún pueblo indígena | 007 | No | 002 | Hombre | 3 | 2006 | 12302 |
Copiapó | I | 004 | Aymara | 003 | Sí | 001 | Mujer | 80 | 2015 | 03101 |
Camiña | I | 004 | Aymara | 003 | Sí | 001 | Mujer | 75 | 2017 | 01402 |
Hualqui | I | 004 | Mapuche | 006 | Sí | 001 | Mujer | 477 | 2017 | 08105 |
Maullín | I | 004 | Mapuche | 006 | Sí | 001 | Mujer | 305 | 2006 | 10108 |
La Granja | I | 004 | Mapuche | 006 | No | 002 | Mujer | 140 | 2009 | 13111 |
Quilpué | I | 004 | No pertenece a ningún pueblo indígena | 007 | No | 002 | Hombre | 175 | 2013 | 05801 |
Curaco de Vélez | I | 004 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 723 | 2013 | 10204 |
Los Sauces | I | 004 | Mapuche | 006 | No | 002 | Hombre | 36 | 2013 | 09206 |
Talca | I | 004 | Aymara | 003 | Sí | 001 | Mujer | 99 | 2015 | 07101 |
Teodoro Schmidt | I | 004 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 2494 | 2015 | 09117 |
Constitución | I | 004 | No pertenece a ningún pueblo indígena | 007 | No | 002 | Hombre | 137 | 2015 | 07102 |
Panguipulli | I | 004 | Mapuche | 006 | No | 002 | Mujer | 68 | 2013 | 14108 |
Rinconada | I | 004 | No pertenece a ningún pueblo indígena | 007 | No | 002 | Hombre | 153 | 2015 | 05303 |
Padre Hurtado | I | 004 | No pertenece a ningún pueblo indígena | 007 | No | 002 | Mujer | 92 | 2011 | 13604 |
San Ramón | I | 004 | No pertenece a ningún pueblo indígena | 007 | No | 002 | Mujer | 137 | 2017 | 13131 |
Alto del Carmen | I | 004 | Diaguita | 005 | Sí | 001 | Mujer | 146 | 2011 | 03302 |
Huara | I | 004 | Aymara | 003 | No | 002 | Hombre | 26 | 2015 | 01404 |
Rancagua | I | 004 | No pertenece a ningún pueblo indígena | 007 | No | 002 | Hombre | 90 | 2017 | 06101 |
Placilla | I | 004 | No pertenece a ningún pueblo indígena | 007 | No | 002 | Mujer | 55 | 2009 | 06308 |
Concepción | I | 004 | No pertenece a ningún pueblo indígena | 007 | No | 002 | Hombre | 24 | 2011 | 08101 |
Lo Espejo | I | 004 | Mapuche | 006 | Sí | 001 | Hombre | 642 | 2011 | 13116 |
Temuco | I | 004 | No pertenece a ningún pueblo indígena | 007 | No | 002 | Hombre | 793 | 2015 | 09101 |
Queilén | I | 004 | Mapuche | 006 | No | 002 | Mujer | 16 | 2009 | 10207 |
Curarrehue | I | 004 | Mapuche | 006 | Sí | 001 | Mujer | 702 | 2006 | 09104 |
El siguiente código establece una conexión con nuestra base de datos en postgres donde estaremos guardando la tabla resultado del código previo. También se guardará la tabla de forma local en formato xlsx
# db <- 'trabajo-con-casen' #provide the name of your db
# host_db <- 'post-to-r.postgres.database.azure.com' #i.e. # i.e. 'ec2-54-83-201-96.compute-1.amazonaws.com'
# db_port <- '5432' # or any other port specified by the DBA
# db_user <- 'yomismo@post-to-r'
# db_password <- '123456Fg*'
# con <- dbConnect(RPostgres::Postgres(), dbname = db, host=host_db, port=db_port, user=db_user, password=db_password)
#
# library('RPostgreSQL')
# tn <- 'links'
# dbWriteTable(con,'tabla_discapacidad',receptaculo, row.names=FALSE)
write_xlsx(receptaculo,"tablas_grandes/entrega_4_quintil.xlsx")
# receptaculo <- read_xlsx("tablas_grandes/4_nivel_educ_padre.xlsx")
# head(receptaculo,3)
# tabla_grande <- dbGetQuery(con, 'SELECT * FROM tabla_discapacidad')
# tabla_grande
p1 <- plot_ly(receptaculo , x = ~anio , color = ~quintil) %>% add_histogram() %>%
layout(title = "Ha tenido enfermedad o accidente",
xaxis = list(title = "Años"),showlegend = TRUE, autosize = F, legend = list(font = list(size = 8)))
p1
p2 <- plot_ly(receptaculo , x = ~etnia , color = ~quintil) %>% add_histogram()%>%
layout(title = "Discapacidad por grupo etnico",
xaxis = list(title = "Etnia"),showlegend = TRUE, autosize = F, legend = list(font = list(size = 8)))
p2
Decil de Ingreso Autónomo Per cápita Nacional (se excluye el s.d.p.a)
funcion1 <- function(n){
comunales<-switch(n, "codigos_comunales_2006.rds","codigos_comunales_2009.rds","codigos_comunales_2011-2017.rds","codigos_comunales_2011-2017.rds","codigos_comunales_2011-2017.rds","codigos_comunales_2011-2017.rds")
xx<-switch(n, "2006","2009","2011","2013","2015","2017")
# dataset_06 <<- NA
if(xx==2006) {
eliminated <- dataset_2006
# a <- eliminated$ytotaj
b <- eliminated$COMUNA
c <- eliminated$DAU
d <- eliminated$E1 #alfabetismo
e <- eliminated$T4 #etnia
f <- eliminated$SEXO
anio <- 2006
cross_tab = xtabs(eliminated$EXPC ~ + unlist(b) + unlist(c) + unlist(d) + unlist(e)+ unlist(f) ,aggregate(eliminated$EXPC ~ + unlist(b) + unlist(c) + unlist(d) + unlist(e)+ unlist(f),eliminated,mean))
}
if(xx==2009) {
eliminated <- dataset_2009
# a <- eliminated$ytotaj
b <- eliminated$COMUNA
c <- eliminated$DAU
d <- eliminated$E1 #alfabetismo
e <- eliminated$T5 #etnia
f <- eliminated$SEXO
anio <- 2009
cross_tab = xtabs(eliminated$EXPC ~ + unlist(b) + unlist(c) + unlist(d) + unlist(e)+ unlist(f) ,aggregate(eliminated$EXPC ~ + unlist(b) + unlist(c) + unlist(d) + unlist(e)+ unlist(f),eliminated,mean))
}
if(xx==2011) {
eliminated <- dataset_2011
# a <- eliminated$ytotaj
b <- eliminated$comuna
c <- eliminated$daut
d <- eliminated$e1 #alfabetismo
e <- eliminated$r6 #etnia
f <- eliminated$sexo
anio <- 2011
cross_tab = xtabs(eliminated$expc_full ~ + unlist(b) + unlist(c) + unlist(d) + unlist(e)+ unlist(f) ,aggregate(eliminated$expc_full ~ + unlist(b) + unlist(c) + unlist(d) + unlist(e)+ unlist(f),eliminated,mean))
}
if(xx==2013) {
eliminated <- dataset_2013
# a <- eliminated$ytotcor
b <- eliminated$comuna
c <- eliminated$DAU_MN
d <- eliminated$e1 #alfabetismo
e <- eliminated$r6 #etnia
f <- eliminated$sexo
anio <- 2013
cross_tab = xtabs(eliminated$expc ~ + unlist(b) + unlist(c) + unlist(d) + unlist(e)+ unlist(f) ,aggregate(eliminated$expc ~ + unlist(b) + unlist(c) + unlist(d) + unlist(e)+ unlist(f),eliminated,mean))
}
if(xx==2015) {
eliminated <- dataset_2015
# a <- eliminated$ytotcor
b <- eliminated$comuna
c <- eliminated$dau
d <- eliminated$e1 #alfabetismo
e <- eliminated$r3 #etnia
f <- eliminated$sexo
anio <- 2015
cross_tab = xtabs(eliminated$expc_todas ~ + unlist(b) + unlist(c) + unlist(d) + unlist(e)+ unlist(f) ,aggregate(eliminated$expc_todas ~ + unlist(b) + unlist(c) + unlist(d) + unlist(e)+ unlist(f),eliminated,mean))
}
if(xx==2017) {
eliminated <- dataset_2017
# a <- eliminated$ytotcor
b <- eliminated$comuna
c <- eliminated$dau
d <- eliminated$e1 #alfabetismo
e <- eliminated$r3 #etnia
f <- eliminated$sexo
anio <- 2017
cross_tab = xtabs(eliminated$expc ~ + unlist(b) + unlist(c) + unlist(d) + unlist(e)+ unlist(f) ,aggregate(eliminated$expc ~ + unlist(b) + unlist(c) + unlist(d) + unlist(e)+ unlist(f),eliminated,mean))
}
tabla <- as.data.frame(cross_tab)
d <-tabla[!(tabla$Freq == 0),]
d$Año <- anio
names(d)[1] <- "Comuna"
names(d)[2] <- "decil"
names(d)[3] <- "Alfabetismo"
names(d)[4] <- "Etnia"
names(d)[5] <- "sexo"
codigos_comunales <- readRDS(file = comunales)
names(codigos_comunales)[1] <- "Código"
names(codigos_comunales)[2] <- "Comuna"
# codigos_comunales
df = merge( x = d, y = codigos_comunales, by = "Comuna", all.x = TRUE)
ingreso_rds <- paste("tablas_peque/decil_",anio,".rds", sep="")
saveRDS(df,ingreso_rds)
# print(head(df,10))
}
for (n in 1:6){
funcion1(n)
}
Homologación de categorías de respuesta con código independiente para la variable de estudio de la ttcc y creación de la tabla general.
receptaculo <- data.frame()
for (n in 1 : 6){
numero <- switch(n, "2006","2009","2011","2013","2015","2017")
direc_tablas <- paste("tablas_peque/decil_",numero,".rds", sep="")
tablas <- readRDS(direc_tablas)
receptaculo <<- rbind(receptaculo, tablas)
}
Para la creación del diccionario se necesita el dataset “receptáculo” al que se le hará un unique() en la columna a la que se le hará el diccionario, luego se guarda como xlsx para hacer el tratamiento
# receptaculo_unicos <- unique(receptaculo$decil)
# receptaculo_unicos <- as.data.frame(receptaculo_unicos)
# write_xlsx(receptaculo_unicos,"diccionario/diccionario_decil_.xlsx")
alfabetismo <- read_xlsx("diccionario/alfabetismo_unicos.xlsx")
kbl(alfabetismo) %>%
kable_styling(bootstrap_options = c("striped", "hover")) %>%
kable_paper() %>%
scroll_box(width = "100%", height = "300px")
Alfabetismo | cat_alfa | codigo_alfabetismo |
---|---|---|
No | No | 002 |
No, sólo lee | No | 002 |
No, ninguno | No | 002 |
No, sólo escribe | No | 002 |
No sabe /Sin dato | NS/NR | 003 |
NS/NR | NS/NR | 003 |
No sabe/responde | NS/NR | 003 |
Sí | Sí | 001 |
Sí, lee y escribe | Sí | 001 |
categorias <- read_xlsx("diccionario/categorias_etnia.xlsx")
kbl(categorias) %>%
kable_styling(bootstrap_options = c("striped", "hover")) %>%
kable_paper() %>%
scroll_box(width = "100%", height = "300px")
Etnia | categorias_etnicas | codigo_etnia |
---|---|---|
Kawashkar o Alacalufes | Alacalufes | 001 |
Kawaskar | Alacalufes | 001 |
Kawésqar | Alacalufes | 001 |
Kawésqar (Alacalufes) | Alacalufes | 001 |
Atacameño | Atacameño | 002 |
Atacameño (Likán Antai) | Atacameño | 002 |
Atacameño (Likan-Antai) | Atacameño | 002 |
Atacameño (Likán-Antai) | Atacameño | 002 |
Aimara | Aymara | 003 |
Aymara | Aymara | 003 |
Collas | Coya | 004 |
Coya | Coya | 004 |
Diaguita | Diaguita | 005 |
Mapuche | Mapuche | 006 |
No pertenece a ningún pueblo indígena | No pertenece a ningún pueblo indígena | 007 |
No sabe/no responde | No pertenece a ningún pueblo indígena | 007 |
NS/NR | No pertenece a ningún pueblo indígena | 007 |
Sin dato | No pertenece a ningún pueblo indígena | 007 |
Rapa Nui | Pascuense | 008 |
Rapa Nui (Pascuense) | Pascuense | 008 |
Rapa-Nui o Pascuenses | Pascuense | 008 |
Quechua | Quechua | 009 |
Yagan | Yagán | 010 |
Yagán | Yagán | 010 |
Yagán (Yámana) | Yagán | 010 |
Yámana o Yagán | Yagán | 010 |
cat_disc <- read_xlsx("diccionario/diccionario_decil_.xlsx")
kbl(cat_disc) %>%
kable_styling(bootstrap_options = c("striped", "hover")) %>%
kable_paper() %>%
scroll_box(width = "100%", height = "300px")
decil | cat_decil |
---|---|
VIII | VIII |
I | I |
V | V |
II | II |
VI | VI |
IX | IX |
IV | IV |
VII | VII |
X | X |
III | III |
0 | 0 |
cod_cat <- unique(cat_disc$cat_decil)
cod_cat<- as.data.frame(cod_cat)
rango <- seq(1:nrow(cod_cat))
cadena<- paste("000",seq(1:nrow(cod_cat)), sep = "")
cadena <- substr(cadena,(nchar(cadena)[rango])-(4-2),5)
cod_cat$codigo_decil <- cadena
names(cod_cat)[1] <- "cat_decil"
cat_disc = merge( x = cat_disc, y = cod_cat, by = "cat_decil", all.x = TRUE)
cat_disc <- cat_disc[,c(2,1,3)]
nuevas_cat = merge( x = receptaculo, y = alfabetismo, by = "Alfabetismo", all.x = TRUE)
alfa_corr <- nuevas_cat[,c(-1)]
categoriasbuenas = merge( x = alfa_corr, y = categorias, by = "Etnia", all.x = TRUE)
etnia_corr <- categoriasbuenas[,c(-1)]
categoriasbuenas = merge( x = etnia_corr, y = cat_disc, by = "decil", all.x = TRUE)
discapacidad_corr <- categoriasbuenas[,c(-1)]
receptaculo<-discapacidad_corr[,c(1,10,11,8,9,6,7,2,3,4,5)]
names(receptaculo)[1] <- "comuna"
names(receptaculo)[2] <- "decil"
names(receptaculo)[4] <- "etnia"
names(receptaculo)[6] <- "alfabetismo"
names(receptaculo)[8] <- "sexo"
names(receptaculo)[9] <- "frec"
names(receptaculo)[10] <- "anio"
names(receptaculo)[11] <- "codigo_comuna"
receptaculo_tab <- receptaculo[1:30,]
kbl(receptaculo_tab) %>%
kable_styling(bootstrap_options = c("striped", "hover")) %>%
kable_paper() %>%
scroll_box(width = "100%", height = "500px")
comuna | decil | codigo_decil | etnia | codigo_etnia | alfabetismo | codigo_alfabetismo | sexo | frec | anio | codigo_comuna |
---|---|---|---|---|---|---|---|---|---|---|
Primavera | 0 | 011 | Mapuche | 006 | Sí | 001 | Hombre | 60 | 2006 | 12302 |
Primavera | 0 | 011 | No pertenece a ningún pueblo indígena | 007 | No | 002 | Hombre | 3 | 2006 | 12302 |
Primavera | 0 | 011 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 168 | 2006 | 12302 |
Primavera | 0 | 011 | Mapuche | 006 | Sí | 001 | Mujer | 42 | 2006 | 12302 |
Primavera | 0 | 011 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Hombre | 189 | 2006 | 12302 |
Primavera | 0 | 011 | Aymara | 003 | Sí | 001 | Mujer | 3 | 2006 | 12302 |
Huechuraba | I | 002 | No pertenece a ningún pueblo indígena | 007 | No | 002 | Mujer | 74 | 2009 | 13107 |
Gorbea | I | 002 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 415 | 2017 | 09107 |
Coinco | I | 002 | No pertenece a ningún pueblo indígena | 007 | No | 002 | Hombre | 26 | 2006 | 06103 |
Sagrada Familia | I | 002 | No pertenece a ningún pueblo indígena | 007 | No | 002 | Hombre | 254 | 2013 | 07307 |
Teodoro Schmidt | I | 002 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Hombre | 689 | 2009 | 09117 |
Collipulli | I | 002 | Mapuche | 006 | Sí | 001 | Hombre | 243 | 2015 | 09202 |
Curicó | I | 002 | No pertenece a ningún pueblo indígena | 007 | No | 002 | Hombre | 70 | 2017 | 07301 |
Pencahue | I | 002 | No pertenece a ningún pueblo indígena | 007 | No | 002 | Mujer | 37 | 2011 | 07107 |
Rengo | I | 002 | No pertenece a ningún pueblo indígena | 007 | No | 002 | Hombre | 103 | 2011 | 06115 |
Peñalolén | I | 002 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 236 | 2013 | 13122 |
Nogales | I | 002 | Diaguita | 005 | Sí | 001 | Hombre | 40 | 2015 | 05506 |
Camiña | I | 002 | Aymara | 003 | Sí | 001 | Mujer | 47 | 2009 | 01402 |
Ancud | I | 002 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Hombre | 558 | 2006 | 10202 |
Canela | I | 002 | Diaguita | 005 | Sí | 001 | Hombre | 26 | 2013 | 04202 |
Perquenco | I | 002 | Mapuche | 006 | Sí | 001 | Hombre | 139 | 2011 | 09113 |
Pemuco | I | 002 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Hombre | 417 | 2013 | 16105 |
Melipilla | I | 002 | No pertenece a ningún pueblo indígena | 007 | No | 002 | Hombre | 162 | 2011 | 13501 |
Paillaco | I | 002 | No pertenece a ningún pueblo indígena | 007 | No | 002 | Mujer | 7 | 2011 | 14107 |
Purén | I | 002 | Mapuche | 006 | Sí | 001 | Hombre | 180 | 2009 | 09208 |
Penco | I | 002 | No pertenece a ningún pueblo indígena | 007 | No | 002 | Mujer | 81 | 2013 | 08107 |
Frutillar | I | 002 | No pertenece a ningún pueblo indígena | 007 | No | 002 | Mujer | 81 | 2013 | 10105 |
Maullín | I | 002 | No pertenece a ningún pueblo indígena | 007 | No | 002 | Hombre | 25 | 2011 | 10108 |
Alto del Carmen | I | 002 | Diaguita | 005 | Sí | 001 | Mujer | 34 | 2009 | 03302 |
Camarones | I | 002 | Mapuche | 006 | Sí | 001 | Mujer | 14 | 2013 | 15102 |
El siguiente código establece una conexión con nuestra base de datos en postgres donde estaremos guardando la tabla resultado del código previo. También se guardará la tabla de forma local en formato xlsx
# db <- 'trabajo-con-casen' #provide the name of your db
# host_db <- 'post-to-r.postgres.database.azure.com' #i.e. # i.e. 'ec2-54-83-201-96.compute-1.amazonaws.com'
# db_port <- '5432' # or any other port specified by the DBA
# db_user <- 'yomismo@post-to-r'
# db_password <- '123456Fg*'
# con <- dbConnect(RPostgres::Postgres(), dbname = db, host=host_db, port=db_port, user=db_user, password=db_password)
#
# library('RPostgreSQL')
# tn <- 'links'
# dbWriteTable(con,'tabla_discapacidad',receptaculo, row.names=FALSE)
write_xlsx(receptaculo,"tablas_grandes/entrega_4_decil.xlsx")
# receptaculo <- read_xlsx("tablas_grandes/4_nivel_educ_padre.xlsx")
# head(receptaculo,3)
# tabla_grande <- dbGetQuery(con, 'SELECT * FROM tabla_discapacidad')
# tabla_grande
p1 <- plot_ly(receptaculo , x = ~anio , color = ~decil) %>% add_histogram() %>%
layout(title = "Ha tenido enfermedad o accidente",
xaxis = list(title = "Años"),showlegend = TRUE, autosize = F, legend = list(font = list(size = 8)))
p1
## Warning in RColorBrewer::brewer.pal(N, "Set2"): n too large, allowed maximum for palette Set2 is 8
## Returning the palette you asked for with that many colors
## Warning in RColorBrewer::brewer.pal(N, "Set2"): n too large, allowed maximum for palette Set2 is 8
## Returning the palette you asked for with that many colors
p2 <- plot_ly(receptaculo , x = ~etnia , color = ~decil) %>% add_histogram()%>%
layout(title = "Discapacidad por grupo etnico",
xaxis = list(title = "Etnia"),showlegend = TRUE, autosize = F, legend = list(font = list(size = 8)))
p2
## Warning in RColorBrewer::brewer.pal(N, "Set2"): n too large, allowed maximum for palette Set2 is 8
## Returning the palette you asked for with that many colors
## Warning in RColorBrewer::brewer.pal(N, "Set2"): n too large, allowed maximum for palette Set2 is 8
## Returning the palette you asked for with that many colors
```