author: - name: VE-CC affiliation: DataIntelligence subtitle: |
date: “27-04-2021” abstract: |
Aparte de la generación de las tablas, también se crearon los diccionarios y códigos para las variables de estudio. También se llegó a la conclusión de que se deberían usar las tablas Casen del año 2011-2017 ya que es donde las variables tienen mayos representación, a diferencia de las tablas de 2006 y 2009 donde son pocas las variables y categorías de respuesta de las mismas
output: html_document: toc: true toc_float: true —
dataset_2006 <- readRDS(file = "casen_2006_c.rds")
dataset_2006 <- dataset_2006[,c("COMUNA","S10B","S10A","T1A","T4","E1","SEXO","EXPC")]
dataset_2009 <- readRDS(file = "casen_2009_c.rds")
dataset_2009 <- dataset_2009[,c("COMUNA","S16B","S16A","T1A","T5","E1","SEXO","EXPC")]
dataset_2011 <- readRDS(file = "casen_2011_c.rds")
dataset_2011 <- dataset_2011[,c("comuna","s16","s15","s27b","s27a","s37t1","r6","e1","sexo","expc_full")]
dataset_2013 <- readRDS(file = "casen_2013_c.rds")
dataset_2013 <- dataset_2013[,c("comuna","s13","s12","s24b","s24a","s34t1","r6","e1","sexo","expc")]
dataset_2015 <- readRDS(file = "casen_2015_c.rds")
dataset_2015 <- dataset_2015[,c("comuna","s11","s10","s21b","s21a","s31c1","r3","e1","sexo","expc_todas")]
dataset_2017 <- readRDS(file = "casen_2017_c.rds")
dataset_2017 <- dataset_2017[,c("comuna","s11","s10","s21b","s21a","s31a1","r3","e1","sexo","expc")]
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$T1A
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$T1A
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$s37t1
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$s34t1
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$s31c1
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$s31a1
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] <- "discapacidad"
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/discapacidad_",anio,".rds", sep="")
saveRDS(df,ingreso_rds)
# print(head(df,10))
}
for (n in 1:6){
funcion1(n)
}
Unión de subtablas, 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/discapacidad_",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$discapacidad)
# receptaculo_unicos <- as.data.frame(receptaculo_unicos)
# write_xlsx(receptaculo_unicos,"tablas_grandes/cat_discapacidad.xlsx")
alfabetismo <- read_xlsx("diccionario/alfabetismo_unicos.xlsx")
categorias <- read_xlsx("diccionario/categorias_etnia.xlsx")
cat_disc <- read_xlsx("diccionario/cat_discapacidad.xlsx")
cod_cat <- unique(cat_disc$discapacidad_n)
cod_cat<- as.data.frame(cod_cat)
cod_cat$codigo_discapacidad <- paste("00",seq(1:nrow(cod_cat)), sep = "")
names(cod_cat)[1] <- "discapacidad_n"
cat_disc = merge( x = cat_disc, y = cod_cat, by = "discapacidad_n", 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 = "discapacidad", 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] <- "discapacidad"
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 | discapacidad | codigo_discapacidad | etnia | codigo_etnia | alfabetismo | codigo_alfabetismo | sexo | frec | anio | codigo_comuna |
---|---|---|---|---|---|---|---|---|---|---|
Nancagua | NA | NA | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 89 | 2006 | 06305 |
Punitaqui | NA | NA | No pertenece a ningún pueblo indígena | 007 | No | 002 | Mujer | 41 | 2006 | 04304 |
Natales | NA | NA | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 169 | 2006 | 12401 |
Estación Central | NA | NA | No pertenece a ningún pueblo indígena | 007 | No | 002 | Mujer | 117 | 2006 | 13106 |
Taltal | NA | NA | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Hombre | 167 | 2006 | 02104 |
Navidad | NA | NA | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Hombre | 39 | 2006 | 06205 |
Navidad | NA | NA | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 19 | 2006 | 06205 |
Concón | NA | NA | No pertenece a ningún pueblo indígena | 007 | No | 002 | Mujer | 69 | 2006 | 05103 |
Negrete | NA | NA | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 35 | 2006 | 08307 |
Hualqui | NA | NA | No pertenece a ningún pueblo indígena | 007 | No | 002 | Mujer | 34 | 2006 | 08105 |
Puqueldón | NA | NA | No pertenece a ningún pueblo indígena | 007 | No | 002 | Mujer | 6 | 2006 | 10206 |
Ninhue | NA | NA | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Hombre | 38 | 2006 | 16204 |
Purén | NA | NA | No pertenece a ningún pueblo indígena | 007 | No | 002 | Mujer | 15 | 2006 | 09208 |
Ninhue | NA | NA | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 62 | 2006 | 16204 |
Camiña | NA | NA | Aymara | 003 | No | 002 | Hombre | 3 | 2006 | 01402 |
Nogales | NA | NA | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 409 | 2006 | 05506 |
Nueva Imperial | NA | NA | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Hombre | 202 | 2006 | 09111 |
Purranque | NA | NA | No pertenece a ningún pueblo indígena | 007 | No | 002 | Mujer | 108 | 2006 | 10303 |
San Juan de la Costa | NA | NA | Mapuche | 006 | No | 002 | Hombre | 25 | 2006 | 10306 |
Padre Las Casas | NA | NA | Mapuche | 006 | Sí | 001 | Mujer | 69 | 2006 | 09112 |
Chile Chico | NA | NA | Alacalufes | 001 | Sí | 001 | Hombre | 4 | 2006 | 11401 |
Putaendo | NA | NA | No pertenece a ningún pueblo indígena | 007 | No | 002 | Mujer | 22 | 2006 | 05705 |
Illapel | NA | NA | No pertenece a ningún pueblo indígena | 007 | No | 002 | Hombre | 110 | 2006 | 04201 |
Ñiquén | NA | NA | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Hombre | 87 | 2006 | 16303 |
Purén | NA | NA | Mapuche | 006 | Sí | 001 | Mujer | 18 | 2006 | 09208 |
Tiltil | NA | NA | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 162 | 2006 | 13303 |
Tiltil | NA | NA | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Hombre | 168 | 2006 | 13303 |
Tirúa | NA | NA | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Hombre | 77 | 2006 | 08207 |
Ñuñoa | NA | NA | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Hombre | 841 | 2006 | 13120 |
Queilén | NA | NA | No pertenece a ningún pueblo indígena | 007 | No | 002 | Mujer | 15 | 2006 | 10207 |
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/tabla_discapacidad.xlsx")
# tabla_grande <- dbGetQuery(con, 'SELECT * FROM tabla_discapacidad')
# tabla_grande
p1 <- plot_ly(receptaculo , x = ~anio , color = ~discapacidad) %>% add_histogram() %>%
layout(title = "Discapacidad en los años",
xaxis = list(title = "Años"),showlegend = TRUE, autosize = F, legend = list(font = list(size = 8)))
p1
p2 <- plot_ly(receptaculo , x = ~etnia , color = ~discapacidad) %>% add_histogram()%>%
layout(title = "Discapacidad por grupo etnico",
xaxis = list(title = "Etnia"),showlegend = TRUE, autosize = F, legend = list(font = list(size = 8)))
p2
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#[!is.na(dataset_2006 ),]
# a <- eliminated$ytotaj
b <- eliminated$COMUNA
c <- eliminated$S10A
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#[!is.na(dataset_2009),]
# a <- eliminated$ytotaj
b <- eliminated$COMUNA
c <- eliminated$S16A
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#[!is.na(dataset_2011),]
# a <- eliminated$ytotaj
b <- eliminated$comuna
c <- eliminated$s27a
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#[!is.na(dataset_2013),]
# a <- eliminated$ytotcor
b <- eliminated$comuna
c <- eliminated$s24a
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#[!is.na(dataset_2015),]
# a <- eliminated$ytotcor
b <- eliminated$comuna
c <- eliminated$s21a
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#[!is.na(dataset_2017),]
# a <- eliminated$ytotcor
b <- eliminated$comuna
c <- eliminated$s21a
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] <- "consultas"
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/mental_",anio,".rds", sep="")
saveRDS(df,ingreso_rds)
# print(head(df,10))
}
for (n in 1:6){
funcion1(n)
}
Unión de subtablas, 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/mental_",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$discapacidad)
# receptaculo_unicos <- as.data.frame(receptaculo_unicos)
# write_xlsx(receptaculo_unicos,"tablas_grandes/unicos_mental.xlsx")
alfabetismo <- read_xlsx("diccionario/alfabetismo_unicos.xlsx")
categorias <- read_xlsx("diccionario/categorias_etnia.xlsx")
cat_disc <- read_xlsx("diccionario/unicos_mental.xlsx")
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 = "consultas", all.x = TRUE)
discapacidad_corr <- categoriasbuenas[,c(-1)]
receptaculo<-discapacidad_corr[,c(1,10,8,9,6,7,2,3,4,5)]
names(receptaculo)[1] <- "comuna"
names(receptaculo)[2] <- "consultas"
names(receptaculo)[3] <- "etnia"
names(receptaculo)[5] <- "alfabetismo"
names(receptaculo)[7] <- "sexo"
names(receptaculo)[8] <- "frec"
names(receptaculo)[9] <- "anio"
names(receptaculo)[10] <- "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 | consultas | etnia | codigo_etnia | alfabetismo | codigo_alfabetismo | sexo | frec | anio | codigo_comuna |
---|---|---|---|---|---|---|---|---|---|
El Bosque | No tuvo | No pertenece a ningún pueblo indígena | 007 | No | 002 | Mujer | 95 | 2015 | 13105 |
Diego de Almagro | No tuvo | Coya | 004 | No | 002 | Mujer | 3 | 2013 | 03202 |
Coyhaique | No tuvo | Mapuche | 006 | Sí | 001 | Hombre | 3454 | 2011 | 11101 |
Temuco | No tuvo | Aymara | 003 | Sí | 001 | Mujer | 112 | 2011 | 09101 |
Quinchao | No tuvo | Mapuche | 006 | No | 002 | Mujer | 15 | 2013 | 10210 |
Quemchi | No tuvo | Mapuche | 006 | Sí | 001 | Mujer | 875 | 2015 | 10209 |
Coronel | No tuvo | Mapuche | 006 | Sí | 001 | Hombre | 2278 | 2013 | 08102 |
Hijuelas | No tuvo | Atacameño | 002 | Sí | 001 | Hombre | 12 | 2011 | 05503 |
Padre Hurtado | No tuvo | Mapuche | 006 | Sí | 001 | Hombre | 2075 | 2011 | 13604 |
Cisnes | No tuvo | No pertenece a ningún pueblo indígena | 007 | No | 002 | Mujer | 126 | 2015 | 11202 |
Victoria | No tuvo | Mapuche | 006 | Sí | 001 | Mujer | 2109 | 2011 | 09211 |
Iquique | No tuvo | Atacameño | 002 | Sí | 001 | Hombre | 106 | 2011 | 01101 |
Arica | No tuvo | Aymara | 003 | No | 002 | Hombre | 75 | 2015 | 15101 |
Lampa | No tuvo | Mapuche | 006 | Sí | 001 | Mujer | 4788 | 2015 | 13302 |
Mariquina | No tuvo | Aymara | 003 | Sí | 001 | Hombre | 12 | 2011 | 14106 |
Huara | No tuvo | Aymara | 003 | Sí | 001 | Hombre | 521 | 2011 | 01404 |
Estación Central | No tuvo | Aymara | 003 | Sí | 001 | Hombre | 224 | 2015 | 13106 |
Putre | No tuvo | Aymara | 003 | Sí | 001 | Mujer | 273 | 2013 | 15201 |
Limache | No tuvo | Mapuche | 006 | Sí | 001 | Hombre | 9 | 2011 | 05802 |
Melipeuco | No tuvo | Aymara | 003 | Sí | 001 | Hombre | 11 | 2013 | 09110 |
Alto Biobío | No tuvo | Mapuche | 006 | No | 002 | Mujer | 141 | 2015 | 08314 |
La Higuera | No tuvo | Aymara | 003 | Sí | 001 | Hombre | 18 | 2013 | 04104 |
Calama | No tuvo | Atacameño | 002 | No | 002 | Mujer | 99 | 2015 | 02201 |
Valdivia | No tuvo | Aymara | 003 | Sí | 001 | Mujer | 115 | 2013 | 14101 |
Huasco | No tuvo | Aymara | 003 | Sí | 001 | Mujer | 75 | 2013 | 03304 |
Temuco | No tuvo | Mapuche | 006 | No | 002 | Mujer | 58 | 2011 | 09101 |
Caldera | No tuvo | Coya | 004 | Sí | 001 | Mujer | 38 | 2011 | 03102 |
Tiltil | No tuvo | Mapuche | 006 | Sí | 001 | Hombre | 449 | 2011 | 13303 |
Pinto | No tuvo | No pertenece a ningún pueblo indígena | 007 | No | 002 | Mujer | 230 | 2013 | 16106 |
Lago Ranco | No tuvo | Mapuche | 006 | No | 002 | Mujer | 159 | 2015 | 14203 |
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_consulta_mental',receptaculo, row.names=FALSE)
write_xlsx(receptaculo,"tablas_grandes/tabla_consulta_mental.xlsx")
# tabla_grande <- dbGetQuery(con, 'SELECT * FROM tabla_discapacidad')
# tabla_grande
p1 <- plot_ly(receptaculo , x = ~anio , color = ~consultas) %>% add_histogram() %>%
layout(title = "consultas en los años",
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 = ~consultas) %>% add_histogram()%>%
layout(title = "consultas 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
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#[!is.na(dataset_2006 ),]
# a <- eliminated$ytotaj
b <- eliminated$COMUNA
c <- eliminated$S10B
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#[!is.na(dataset_2009),]
# a <- eliminated$ytotaj
b <- eliminated$COMUNA
c <- eliminated$S16B
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#[!is.na(dataset_2011),]
# a <- eliminated$ytotaj
b <- eliminated$comuna
c <- eliminated$s27b
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#[!is.na(dataset_2013),]
# a <- eliminated$ytotcor
b <- eliminated$comuna
c <- eliminated$s24b
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#[!is.na(dataset_2015),]
# a <- eliminated$ytotcor
b <- eliminated$comuna
c <- eliminated$s21b
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#[!is.na(dataset_2017),]
# a <- eliminated$ytotcor
b <- eliminated$comuna
c <- eliminated$s21b
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] <- "lugat_de_consultas"
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/lugar_mental_",anio,".rds", sep="")
saveRDS(df,ingreso_rds)
# print(head(df,10))
}
for (n in 1:6){
funcion1(n)
}
Unión de subtablas, 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/lugar_mental_",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$lugat_de_consultas)
# receptaculo_unicos <- as.data.frame(receptaculo_unicos)
# write_xlsx(receptaculo_unicos,"diccionario/unico_lugar_consulta_mental.xlsx")
alfabetismo <- read_xlsx("diccionario/alfabetismo_unicos.xlsx")
categorias <- read_xlsx("diccionario/categorias_etnia.xlsx")
cat_disc <- read_xlsx("diccionario/unico_lugar_consulta_mental.xlsx")
cod_cat <- unique(cat_disc$lugat_de_consultas_cat)
cod_cat<- as.data.frame(cod_cat)
rango <- seq(1:nrow(cod_cat))
cadena<- paste("00",seq(1:nrow(cod_cat)), sep = "")
cadena <- substr(cadena,(nchar(cadena)[rango])-(4-2),5)
cod_cat$codigo_discapacidad <- cadena
names(cod_cat)[1] <- "lugat_de_consultas_cat"
cat_disc = merge( x = cat_disc, y = cod_cat, by = "lugat_de_consultas_cat", 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 = "lugat_de_consultas", 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] <- "lugar_de_consultas"
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 | lugar_de_consultas | codigo_discapacidad | etnia | codigo_etnia | alfabetismo | codigo_alfabetismo | sexo | frec | anio | codigo_comuna |
---|---|---|---|---|---|---|---|---|---|---|
Maipú | Centro de salud mental privado | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Hombre | 363 | 2015 | 13119 |
Independencia | Centro de salud mental privado | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 15 | 2013 | 13108 |
Las Condes | Centro de salud mental privado | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 917 | 2013 | 13114 |
Concepción | Centro de salud mental privado | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Hombre | 100 | 2013 | 08101 |
Pelarco | Centro de salud mental privado | 001 | No pertenece a ningún pueblo indígena | 007 | No | 002 | Mujer | 34 | 2011 | 07106 |
Temuco | Centro de salud mental privado | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Hombre | 31 | 2011 | 09101 |
Osorno | Centro de salud mental privado | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 32 | 2013 | 10301 |
Temuco | Centro de salud mental privado | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 108 | 2013 | 09101 |
Providencia | Centro de salud mental privado | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 179 | 2011 | 13123 |
Talcahuano | Centro de salud mental privado | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 92 | 2013 | 08110 |
Linares | Centro de salud mental privado | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 103 | 2017 | 07401 |
Santiago | Centro de salud mental privado | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Hombre | 124 | 2013 | 13101 |
Pudahuel | Centro de salud mental privado | 001 | Mapuche | 006 | Sí | 001 | Mujer | 235 | 2017 | 13124 |
Coquimbo | Centro de salud mental privado | 001 | No pertenece a ningún pueblo indígena | 007 | No | 002 | Mujer | 85 | 2015 | 04102 |
Osorno | Centro de salud mental privado | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Hombre | 99 | 2013 | 10301 |
Quilpué | Centro de salud mental privado | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 106 | 2017 | 05801 |
Concepción | Centro de salud mental privado | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 178 | 2013 | 08101 |
Providencia | Centro de salud mental privado | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 55 | 2013 | 13123 |
Viña del Mar | Centro de salud mental privado | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Hombre | 161 | 2011 | 05109 |
Osorno | Centro de salud mental privado | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 56 | 2017 | 10301 |
Las Condes | Centro de salud mental privado | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Hombre | 218 | 2013 | 13114 |
Valdivia | Centro de salud mental privado | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 47 | 2013 | 14101 |
Iquique | Centro de salud mental privado | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Hombre | 90 | 2015 | 01101 |
Quinta Normal | Centro de salud mental privado | 001 | Mapuche | 006 | Sí | 001 | Hombre | 470 | 2015 | 13126 |
Arica | Centro de salud mental privado | 001 | Diaguita | 005 | Sí | 001 | Hombre | 30 | 2013 | 15101 |
Iquique | Centro de salud mental privado | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 37 | 2011 | 01101 |
Villarrica | Centro de salud mental privado | 001 | Mapuche | 006 | Sí | 001 | Hombre | 22 | 2015 | 09120 |
San Bernardo | Centro de salud mental privado | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Hombre | 308 | 2011 | 13401 |
Maipú | Centro de salud mental privado | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Hombre | 782 | 2017 | 13119 |
Antofagasta | Centro de salud mental privado | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 41 | 2011 | 02101 |
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_lugar_consulta_mental',receptaculo, row.names=FALSE)
write_xlsx(receptaculo,"tablas_grandes/tabla_lugar_consulta_mental.xlsx")
# tabla_grande <- dbGetQuery(con, 'SELECT * FROM tabla_discapacidad')
# tabla_grande
p1 <- plot_ly(receptaculo , x = ~anio , color = ~lugar_de_consultas) %>% add_histogram() %>%
layout(title = "lugar_de_consultas en los años",
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 = ~lugar_de_consultas) %>% add_histogram()%>%
layout(title = "lugar_de_consultas 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
funcion1 <- function(n){
comunales<-switch(n,"codigos_comunales_2011-2017.rds","codigos_comunales_2011-2017.rds","codigos_comunales_2011-2017.rds","codigos_comunales_2011-2017.rds")
xx<-switch(n,"2011","2013","2015","2017")
if(xx==2011) {
eliminated <- dataset_2011#[!is.na(dataset_2011),]
# a <- eliminated$ytotaj
b <- eliminated$comuna
c <- eliminated$s15
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#[!is.na(dataset_2013),]
# a <- eliminated$ytotcor
b <- eliminated$comuna
c <- eliminated$s12
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#[!is.na(dataset_2015),]
# a <- eliminated$ytotcor
b <- eliminated$comuna
c <- eliminated$s10
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#[!is.na(dataset_2017),]
# a <- eliminated$ytotcor
b <- eliminated$comuna
c <- eliminated$s10
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] <- "mamografia"
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/mamografia_",anio,".rds", sep="")
saveRDS(df,ingreso_rds)
# print(head(df,10))
}
for (n in 1:4){
funcion1(n)
}
Unión de subtablas, 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 : 4){
numero <- switch(n,"2011","2013","2015","2017")
direc_tablas <- paste("tablas_peque/mamografia_",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$mamografia)
# receptaculo_unicos <- as.data.frame(receptaculo_unicos)
# write_xlsx(receptaculo_unicos,"diccionario/unico_mamografia.xlsx")
alfabetismo <- read_xlsx("diccionario/alfabetismo_unicos.xlsx")
categorias <- read_xlsx("diccionario/categorias_etnia.xlsx")
cat_disc <- read_xlsx("diccionario/unico_mamografia.xlsx")
cod_cat <- unique(cat_disc$mamografia_cat)
cod_cat<- as.data.frame(cod_cat)
cod_cat$codigo_discapacidad <- paste("00",seq(1:nrow(cod_cat)), sep = "")
names(cod_cat)[1] <- "mamografia_cat"
cat_disc = merge( x = cat_disc, y = cod_cat, by = "mamografia_cat", 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 = "mamografia", 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] <- "mamografia"
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 | mamografia | codigo_discapacidad | etnia | codigo_etnia | alfabetismo | codigo_alfabetismo | sexo | frec | anio | codigo_comuna |
---|---|---|---|---|---|---|---|---|---|---|
Huara | No | 001 | Aymara | 003 | Sí | 001 | Mujer | 250 | 2017 | 01404 |
Tierra Amarilla | No | 001 | No pertenece a ningún pueblo indígena | 007 | No | 002 | Mujer | 34 | 2011 | 03103 |
Chañaral | No | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 1250 | 2015 | 03201 |
Chañaral | No | 001 | Mapuche | 006 | Sí | 001 | Mujer | 13 | 2015 | 03201 |
Paredones | No | 001 | No pertenece a ningún pueblo indígena | 007 | No | 002 | Mujer | 126 | 2013 | 06206 |
Chillán Viejo | No | 001 | Mapuche | 006 | Sí | 001 | Mujer | 213 | 2015 | 16103 |
Gorbea | No | 001 | Mapuche | 006 | No | 002 | Mujer | 54 | 2015 | 09107 |
Curarrehue | No | 001 | Mapuche | 006 | Sí | 001 | Mujer | 429 | 2011 | 09104 |
San Felipe | No | 001 | Coya | 004 | Sí | 001 | Mujer | 153 | 2017 | 05701 |
Yungay | No | 001 | No pertenece a ningún pueblo indígena | 007 | No | 002 | Mujer | 206 | 2015 | 16109 |
Panguipulli | No | 001 | Mapuche | 006 | No | 002 | Mujer | 45 | 2011 | 14108 |
Quilpué | No | 001 | No pertenece a ningún pueblo indígena | 007 | No | 002 | Mujer | 51 | 2011 | 05801 |
Chiguayante | No | 001 | No pertenece a ningún pueblo indígena | 007 | No | 002 | Mujer | 1000 | 2015 | 08103 |
Machalí | No | 001 | Mapuche | 006 | Sí | 001 | Mujer | 104 | 2011 | 06108 |
Valdivia | No | 001 | Mapuche | 006 | No | 002 | Mujer | 82 | 2017 | 14101 |
Cerrillos | No | 001 | Mapuche | 006 | Sí | 001 | Mujer | 389 | 2011 | 13102 |
Colina | No | 001 | Aymara | 003 | Sí | 001 | Mujer | 123 | 2011 | 13301 |
Maullín | No | 001 | No pertenece a ningún pueblo indígena | 007 | No | 002 | Mujer | 68 | 2013 | 10108 |
Teodoro Schmidt | No | 001 | Mapuche | 006 | No | 002 | Mujer | 67 | 2017 | 09117 |
Petorca | No | 001 | Mapuche | 006 | Sí | 001 | Mujer | 43 | 2015 | 05404 |
Saavedra | No | 001 | Mapuche | 006 | No | 002 | Mujer | 164 | 2011 | 09116 |
Lo Espejo | No | 001 | Mapuche | 006 | Sí | 001 | Mujer | 995 | 2015 | 13116 |
Vilcún | No | 001 | Mapuche | 006 | No | 002 | Mujer | 416 | 2011 | 09119 |
Rancagua | No | 001 | Coya | 004 | Sí | 001 | Mujer | 63 | 2017 | 06101 |
Salamanca | No | 001 | No pertenece a ningún pueblo indígena | 007 | No | 002 | Mujer | 67 | 2017 | 04204 |
Caldera | No | 001 | No pertenece a ningún pueblo indígena | 007 | No | 002 | Mujer | 38 | 2017 | 03102 |
Tucapel | No | 001 | Mapuche | 006 | Sí | 001 | Mujer | 54 | 2017 | 08312 |
María Elena | No | 001 | Aymara | 003 | Sí | 001 | Mujer | 14 | 2013 | 02302 |
Canela | No | 001 | Diaguita | 005 | Sí | 001 | Mujer | 9 | 2015 | 04202 |
Monte Patria | No | 001 | Diaguita | 005 | Sí | 001 | Mujer | 62 | 2011 | 04303 |
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_practica_mamografia',receptaculo, row.names=FALSE)
write_xlsx(receptaculo,"tablas_grandes/tabla_practica_mamografia.xlsx")
# tabla_grande <- dbGetQuery(con, 'SELECT * FROM tabla_discapacidad')
# tabla_grande
p1 <- plot_ly(receptaculo , x = ~anio , color = ~mamografia) %>% add_histogram() %>%
layout(title = "Practica de mamografía en los años",
xaxis = list(title = "Años"),showlegend = TRUE, autosize = F, legend = list(font = list(size = 8)))
p1
p2 <- plot_ly(receptaculo , x = ~etnia , color = ~mamografia) %>% add_histogram()%>%
layout(title = "Practica de mamografía por grupo etnico",
xaxis = list(title = "Etnia"),showlegend = TRUE, autosize = F, legend = list(font = list(size = 8)))
p2
funcion1 <- function(n){
comunales<-switch(n,"codigos_comunales_2011-2017.rds","codigos_comunales_2011-2017.rds","codigos_comunales_2011-2017.rds","codigos_comunales_2011-2017.rds")
xx<-switch(n,"2011","2013","2015","2017")
if(xx==2011) {
eliminated <- dataset_2011#[!is.na(dataset_2011),]
# a <- eliminated$ytotaj
b <- eliminated$comuna
c <- eliminated$s16
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#[!is.na(dataset_2013),]
# a <- eliminated$ytotcor
b <- eliminated$comuna
c <- eliminated$s13
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#[!is.na(dataset_2015),]
# a <- eliminated$ytotcor
b <- eliminated$comuna
c <- eliminated$s11
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#[!is.na(dataset_2017),]
# a <- eliminated$ytotcor
b <- eliminated$comuna
c <- eliminated$s11
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] <- "motivo_mamografia"
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/motivo_mamografia_",anio,".rds", sep="")
saveRDS(df,ingreso_rds)
# print(head(df,10))
}
for (n in 1:4){
funcion1(n)
}
Unión de subtablas, 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 : 4){
numero <- switch(n,"2011","2013","2015","2017")
direc_tablas <- paste("tablas_peque/motivo_mamografia_",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$motivo_mamografia)
# receptaculo_unicos <- as.data.frame(receptaculo_unicos)
# write_xlsx(receptaculo_unicos,"diccionario/unico_motivo_mamografia.xlsx")
alfabetismo <- read_xlsx("diccionario/alfabetismo_unicos.xlsx")
categorias <- read_xlsx("diccionario/categorias_etnia.xlsx")
cat_disc <- read_xlsx("diccionario/unico_motivo_mamografia.xlsx")
cod_cat <- unique(cat_disc$motivo_mamografia_cat)
cod_cat<- as.data.frame(cod_cat)
rango <- seq(1:nrow(cod_cat))
cadena<- paste("00",seq(1:nrow(cod_cat)), sep = "")
cadena <- substr(cadena,(nchar(cadena)[rango])-(4-2),5)
cod_cat$codigo_discapacidad <- cadena
names(cod_cat)[1] <- "motivo_mamografia_cat"
cat_disc = merge( x = cat_disc, y = cod_cat, by = "motivo_mamografia_cat", 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 = "motivo_mamografia", 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] <- "motivo_no_mamografia"
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 | motivo_no_mamografia | codigo_discapacidad | etnia | codigo_etnia | alfabetismo | codigo_alfabetismo | sexo | frec | anio | codigo_comuna |
---|---|---|---|---|---|---|---|---|---|---|
Cauquenes | El horario del consultorio no le sirve | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 52 | 2011 | 07201 |
San Felipe | El horario del consultorio no le sirve | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 132 | 2015 | 05701 |
Temuco | El horario del consultorio no le sirve | 001 | Mapuche | 006 | No | 002 | Mujer | 58 | 2011 | 09101 |
Natales | El horario del consultorio no le sirve | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 48 | 2015 | 12401 |
Puerto Octay | El horario del consultorio no le sirve | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 49 | 2013 | 10302 |
Cabrero | El horario del consultorio no le sirve | 001 | No pertenece a ningún pueblo indígena | 007 | No | 002 | Mujer | 271 | 2011 | 08303 |
Coinco | El horario del consultorio no le sirve | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 32 | 2013 | 06103 |
Putre | El horario del consultorio no le sirve | 001 | Aymara | 003 | Sí | 001 | Mujer | 5 | 2011 | 15201 |
La Unión | El horario del consultorio no le sirve | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 24 | 2013 | 14201 |
Gorbea | El horario del consultorio no le sirve | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 67 | 2011 | 09107 |
Talca | El horario del consultorio no le sirve | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 673 | 2011 | 07101 |
Aysén | El horario del consultorio no le sirve | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 16 | 2017 | 11201 |
Maipú | El horario del consultorio no le sirve | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 517 | 2011 | 13119 |
Cabrero | El horario del consultorio no le sirve | 001 | No pertenece a ningún pueblo indígena | 007 | No | 002 | Mujer | 147 | 2011 | 08303 |
Futrono | El horario del consultorio no le sirve | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 10 | 2011 | 14202 |
Valdivia | El horario del consultorio no le sirve | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 18 | 2013 | 14101 |
Natales | El horario del consultorio no le sirve | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 25 | 2011 | 12401 |
Fresia | El horario del consultorio no le sirve | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 13 | 2011 | 10104 |
Colina | El horario del consultorio no le sirve | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 365 | 2017 | 13301 |
Chiguayante | El horario del consultorio no le sirve | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 237 | 2015 | 08103 |
Coyhaique | El horario del consultorio no le sirve | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 111 | 2011 | 11101 |
Galvarino | El horario del consultorio no le sirve | 001 | Mapuche | 006 | Sí | 001 | Mujer | 13 | 2017 | 09106 |
Coelemu | El horario del consultorio no le sirve | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 61 | 2015 | 16203 |
Curicó | El horario del consultorio no le sirve | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 79 | 2011 | 07301 |
San Javier | El horario del consultorio no le sirve | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 444 | 2011 | 07406 |
Saavedra | El horario del consultorio no le sirve | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 27 | 2013 | 09116 |
La Cruz | El horario del consultorio no le sirve | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 63 | 2013 | 05504 |
Copiapó | El horario del consultorio no le sirve | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 337 | 2011 | 03101 |
Renaico | El horario del consultorio no le sirve | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 64 | 2013 | 09209 |
Papudo | El horario del consultorio no le sirve | 001 | No pertenece a ningún pueblo indígena | 007 | Sí | 001 | Mujer | 43 | 2015 | 05403 |
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_no_practica_mamografia',receptaculo, row.names=FALSE)
write_xlsx(receptaculo,"tablas_grandes/tabla_no_practica_mamografia.xlsx")
# tabla_grande <- dbGetQuery(con, 'SELECT * FROM tabla_discapacidad')
# tabla_grande
p1 <- plot_ly(receptaculo , x = ~anio , color = ~motivo_no_mamografia) %>% add_histogram() %>%
layout(title = "Motivo de no practicar una mamografía en los años",
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 = ~motivo_no_mamografia) %>% add_histogram()%>%
layout(title = "Motivo de no practicar una mamografía 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