title: |

Generación de ttcc sobre variables de interés para La Casen en diferentes años

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 —

Lectura de tablas Casen

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")]



ttcc-Discapacidad

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)
}

Tratamientos

Union de tablas

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)
    
}

Diccionario

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 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 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 001 Hombre 167 2006 02104
Navidad NA NA No pertenece a ningún pueblo indígena 007 001 Hombre 39 2006 06205
Navidad NA NA No pertenece a ningún pueblo indígena 007 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 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 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 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 001 Mujer 409 2006 05506
Nueva Imperial NA NA No pertenece a ningún pueblo indígena 007 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 001 Mujer 69 2006 09112
Chile Chico NA NA Alacalufes 001 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 001 Hombre 87 2006 16303
Purén NA NA Mapuche 006 001 Mujer 18 2006 09208
Tiltil NA NA No pertenece a ningún pueblo indígena 007 001 Mujer 162 2006 13303
Tiltil NA NA No pertenece a ningún pueblo indígena 007 001 Hombre 168 2006 13303
Tirúa NA NA No pertenece a ningún pueblo indígena 007 001 Hombre 77 2006 08207
Ñuñoa NA NA No pertenece a ningún pueblo indígena 007 001 Hombre 841 2006 13120
Queilén NA NA No pertenece a ningún pueblo indígena 007 No 002 Mujer 15 2006 10207

Guardado de tablas

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

Gráficos

Gráfico I

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

Gráfico II

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



ttcc-Consultas de salud mental

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)
}

Tratamientos

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)

}

Diccionario

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 001 Hombre 3454 2011 11101
Temuco No tuvo Aymara 003 001 Mujer 112 2011 09101
Quinchao No tuvo Mapuche 006 No 002 Mujer 15 2013 10210
Quemchi No tuvo Mapuche 006 001 Mujer 875 2015 10209
Coronel No tuvo Mapuche 006 001 Hombre 2278 2013 08102
Hijuelas No tuvo Atacameño 002 001 Hombre 12 2011 05503
Padre Hurtado No tuvo Mapuche 006 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 001 Mujer 2109 2011 09211
Iquique No tuvo Atacameño 002 001 Hombre 106 2011 01101
Arica No tuvo Aymara 003 No 002 Hombre 75 2015 15101
Lampa No tuvo Mapuche 006 001 Mujer 4788 2015 13302
Mariquina No tuvo Aymara 003 001 Hombre 12 2011 14106
Huara No tuvo Aymara 003 001 Hombre 521 2011 01404
Estación Central No tuvo Aymara 003 001 Hombre 224 2015 13106
Putre No tuvo Aymara 003 001 Mujer 273 2013 15201
Limache No tuvo Mapuche 006 001 Hombre 9 2011 05802
Melipeuco No tuvo Aymara 003 001 Hombre 11 2013 09110
Alto Biobío No tuvo Mapuche 006 No 002 Mujer 141 2015 08314
La Higuera No tuvo Aymara 003 001 Hombre 18 2013 04104
Calama No tuvo Atacameño 002 No 002 Mujer 99 2015 02201
Valdivia No tuvo Aymara 003 001 Mujer 115 2013 14101
Huasco No tuvo Aymara 003 001 Mujer 75 2013 03304
Temuco No tuvo Mapuche 006 No 002 Mujer 58 2011 09101
Caldera No tuvo Coya 004 001 Mujer 38 2011 03102
Tiltil No tuvo Mapuche 006 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

Guardado de tablas

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

Gráficos

Gráfico I

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

Gráfico II

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



ttcc-Lugar de consultas de salud mental

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)
}

Tratamientos

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)

}

Diccionario

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 001 Hombre 363 2015 13119
Independencia Centro de salud mental privado 001 No pertenece a ningún pueblo indígena 007 001 Mujer 15 2013 13108
Las Condes Centro de salud mental privado 001 No pertenece a ningún pueblo indígena 007 001 Mujer 917 2013 13114
Concepción Centro de salud mental privado 001 No pertenece a ningún pueblo indígena 007 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 001 Hombre 31 2011 09101
Osorno Centro de salud mental privado 001 No pertenece a ningún pueblo indígena 007 001 Mujer 32 2013 10301
Temuco Centro de salud mental privado 001 No pertenece a ningún pueblo indígena 007 001 Mujer 108 2013 09101
Providencia Centro de salud mental privado 001 No pertenece a ningún pueblo indígena 007 001 Mujer 179 2011 13123
Talcahuano Centro de salud mental privado 001 No pertenece a ningún pueblo indígena 007 001 Mujer 92 2013 08110
Linares Centro de salud mental privado 001 No pertenece a ningún pueblo indígena 007 001 Mujer 103 2017 07401
Santiago Centro de salud mental privado 001 No pertenece a ningún pueblo indígena 007 001 Hombre 124 2013 13101
Pudahuel Centro de salud mental privado 001 Mapuche 006 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 001 Hombre 99 2013 10301
Quilpué Centro de salud mental privado 001 No pertenece a ningún pueblo indígena 007 001 Mujer 106 2017 05801
Concepción Centro de salud mental privado 001 No pertenece a ningún pueblo indígena 007 001 Mujer 178 2013 08101
Providencia Centro de salud mental privado 001 No pertenece a ningún pueblo indígena 007 001 Mujer 55 2013 13123
Viña del Mar Centro de salud mental privado 001 No pertenece a ningún pueblo indígena 007 001 Hombre 161 2011 05109
Osorno Centro de salud mental privado 001 No pertenece a ningún pueblo indígena 007 001 Mujer 56 2017 10301
Las Condes Centro de salud mental privado 001 No pertenece a ningún pueblo indígena 007 001 Hombre 218 2013 13114
Valdivia Centro de salud mental privado 001 No pertenece a ningún pueblo indígena 007 001 Mujer 47 2013 14101
Iquique Centro de salud mental privado 001 No pertenece a ningún pueblo indígena 007 001 Hombre 90 2015 01101
Quinta Normal Centro de salud mental privado 001 Mapuche 006 001 Hombre 470 2015 13126
Arica Centro de salud mental privado 001 Diaguita 005 001 Hombre 30 2013 15101
Iquique Centro de salud mental privado 001 No pertenece a ningún pueblo indígena 007 001 Mujer 37 2011 01101
Villarrica Centro de salud mental privado 001 Mapuche 006 001 Hombre 22 2015 09120
San Bernardo Centro de salud mental privado 001 No pertenece a ningún pueblo indígena 007 001 Hombre 308 2011 13401
Maipú Centro de salud mental privado 001 No pertenece a ningún pueblo indígena 007 001 Hombre 782 2017 13119
Antofagasta Centro de salud mental privado 001 No pertenece a ningún pueblo indígena 007 001 Mujer 41 2011 02101

Guardado de tablas

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

Gráficos

Gráfico I

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

Gráfico II

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



ttcc-Práctica de mamografía

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)
}

Tratamientos

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)

}

Diccionario

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 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 001 Mujer 1250 2015 03201
Chañaral No 001 Mapuche 006 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 001 Mujer 213 2015 16103
Gorbea No 001 Mapuche 006 No 002 Mujer 54 2015 09107
Curarrehue No 001 Mapuche 006 001 Mujer 429 2011 09104
San Felipe No 001 Coya 004 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 001 Mujer 104 2011 06108
Valdivia No 001 Mapuche 006 No 002 Mujer 82 2017 14101
Cerrillos No 001 Mapuche 006 001 Mujer 389 2011 13102
Colina No 001 Aymara 003 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 001 Mujer 43 2015 05404
Saavedra No 001 Mapuche 006 No 002 Mujer 164 2011 09116
Lo Espejo No 001 Mapuche 006 001 Mujer 995 2015 13116
Vilcún No 001 Mapuche 006 No 002 Mujer 416 2011 09119
Rancagua No 001 Coya 004 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 001 Mujer 54 2017 08312
María Elena No 001 Aymara 003 001 Mujer 14 2013 02302
Canela No 001 Diaguita 005 001 Mujer 9 2015 04202
Monte Patria No 001 Diaguita 005 001 Mujer 62 2011 04303

Guardado de tablas

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

Gráficos

Gráfico I

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

Gráfico II

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



ttcc-Razon de práctica de mamografía

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)
}

Tratamientos

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)

}

Diccionario

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 001 Mujer 52 2011 07201
San Felipe El horario del consultorio no le sirve 001 No pertenece a ningún pueblo indígena 007 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 001 Mujer 48 2015 12401
Puerto Octay El horario del consultorio no le sirve 001 No pertenece a ningún pueblo indígena 007 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 001 Mujer 32 2013 06103
Putre El horario del consultorio no le sirve 001 Aymara 003 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 001 Mujer 24 2013 14201
Gorbea El horario del consultorio no le sirve 001 No pertenece a ningún pueblo indígena 007 001 Mujer 67 2011 09107
Talca El horario del consultorio no le sirve 001 No pertenece a ningún pueblo indígena 007 001 Mujer 673 2011 07101
Aysén El horario del consultorio no le sirve 001 No pertenece a ningún pueblo indígena 007 001 Mujer 16 2017 11201
Maipú El horario del consultorio no le sirve 001 No pertenece a ningún pueblo indígena 007 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 001 Mujer 10 2011 14202
Valdivia El horario del consultorio no le sirve 001 No pertenece a ningún pueblo indígena 007 001 Mujer 18 2013 14101
Natales El horario del consultorio no le sirve 001 No pertenece a ningún pueblo indígena 007 001 Mujer 25 2011 12401
Fresia El horario del consultorio no le sirve 001 No pertenece a ningún pueblo indígena 007 001 Mujer 13 2011 10104
Colina El horario del consultorio no le sirve 001 No pertenece a ningún pueblo indígena 007 001 Mujer 365 2017 13301
Chiguayante El horario del consultorio no le sirve 001 No pertenece a ningún pueblo indígena 007 001 Mujer 237 2015 08103
Coyhaique El horario del consultorio no le sirve 001 No pertenece a ningún pueblo indígena 007 001 Mujer 111 2011 11101
Galvarino El horario del consultorio no le sirve 001 Mapuche 006 001 Mujer 13 2017 09106
Coelemu El horario del consultorio no le sirve 001 No pertenece a ningún pueblo indígena 007 001 Mujer 61 2015 16203
Curicó El horario del consultorio no le sirve 001 No pertenece a ningún pueblo indígena 007 001 Mujer 79 2011 07301
San Javier El horario del consultorio no le sirve 001 No pertenece a ningún pueblo indígena 007 001 Mujer 444 2011 07406
Saavedra El horario del consultorio no le sirve 001 No pertenece a ningún pueblo indígena 007 001 Mujer 27 2013 09116
La Cruz El horario del consultorio no le sirve 001 No pertenece a ningún pueblo indígena 007 001 Mujer 63 2013 05504
Copiapó El horario del consultorio no le sirve 001 No pertenece a ningún pueblo indígena 007 001 Mujer 337 2011 03101
Renaico El horario del consultorio no le sirve 001 No pertenece a ningún pueblo indígena 007 001 Mujer 64 2013 09209
Papudo El horario del consultorio no le sirve 001 No pertenece a ningún pueblo indígena 007 001 Mujer 43 2015 05403

Guardado de tablas

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

Gráficos

Gráfico I

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

Gráfico II

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