Preguntas:

  1. Tuvo algun problema de salud?.
  2. Consulto por ese problema de salud?.
  3. Porqué no tuvo consulta?.

Medicina general:

  1. Cuantas consultas tuvo?.
  2. Donde las tuvo?.
  3. Cuanto le costaron?.

La pregunta de “Cuanto le costaron?” parece no existir en las primeras Casen, evaluar la posibilidad de integrar la pregunta sobre medicamento, su costo y la forma de adquisicion

Lectura de tablas Casen

dataset_2006 <- readRDS(file = "casen_2006_c.rds")
dataset_2006 <- dataset_2006[,c("COMUNA","S5","S6","S7","S8A","S8B","T4","E1","SEXO","EXPC")]

dataset_2009 <- readRDS(file = "casen_2009_c.rds")
dataset_2009 <- dataset_2009[,c("COMUNA","S9","S10","S11","S14A","S14B","T5","E1","SEXO","EXPC")]

dataset_2011 <- readRDS(file = "casen_2011_c.rds")
dataset_2011 <- dataset_2011[,c("comuna","s20","s22","s23","s25a","s25b","r6","e1","sexo","expc_full")]

dataset_2013 <- readRDS(file = "casen_2013_c.rds")
dataset_2013 <- dataset_2013[,c("comuna","s17","s19","s20","s22a","s22b","r6","e1","sexo","expc")]

dataset_2015 <- readRDS(file = "casen_2015_c.rds")
dataset_2015 <- dataset_2015[,c("comuna","s15","s16","s17","s19a","s19b","r3","e1","sexo","expc_todas")]

dataset_2017 <- readRDS(file = "casen_2017_c.rds")
dataset_2017 <- dataset_2017[,c("comuna","s15","s16","s17","s19a","s19b","r3","e1","sexo","expc")]



1. enfermedad o accidente

Últimos 3. meses ¿Tuvo algún problema de salud, enfermedad o accidente?

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$S5
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$S9
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$s20
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$s17
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$s15
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$s15
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] <- "enfermedad_accidente"
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/enfermedad_accidente_",anio,".rds", sep="")
saveRDS(df,ingreso_rds)

# print(head(df,10))

}

for (n in 1:6){
  funcion1(n)
}

1.1 Tratamientos

1.1.1 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/enfermedad_accidente_",numero,".rds", sep="")
    tablas <- readRDS(direc_tablas)

    receptaculo <<- rbind(receptaculo, tablas)

}

1.1.2 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$enfermedad_accidente)
# receptaculo_unicos <- as.data.frame(receptaculo_unicos)
# write_xlsx(receptaculo_unicos,"diccionario/unico_enfermedad_accidente.xlsx")
alfabetismo <- read_xlsx("diccionario/alfabetismo_unicos.xlsx")
categorias <- read_xlsx("diccionario/categorias_etnia.xlsx")
cat_disc <- read_xlsx("diccionario/unico_enfermedad_accidente.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 = "enfermedad_accidente", 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] <- "enfermedad_accidente"
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 enfermedad_accidente codigo_enfermedad_accidente etnia codigo_etnia alfabetismo codigo_alfabetismo sexo frec anio codigo_comuna
Coronel No 001 Mapuche 006 001 Mujer 2261 2006 08102
San Ignacio No 001 No pertenece a ningún pueblo indígena 007 No 002 Hombre 691 2009 16108
Gorbea No 001 Alacalufes 001 001 Hombre 21 2006 09107
San Pablo No 001 No pertenece a ningún pueblo indígena 007 001 Mujer 1750 2006 10307
Quillota No 001 Mapuche 006 001 Hombre 594 2006 05501
La Estrella No 001 No pertenece a ningún pueblo indígena 007 001 Mujer 1193 2006 06202
Puqueldón No 001 Mapuche 006 001 Mujer 188 2009 10206
Quilicura No 001 No pertenece a ningún pueblo indígena 007 001 Hombre 59159 2009 13125
Valdivia No 001 No pertenece a ningún pueblo indígena 007 001 Hombre 38163 2009 14101
Aisén No 001 Alacalufes 001 001 Mujer 35 2006 11201
La Cisterna No 001 No pertenece a ningún pueblo indígena 007 NS/NR 003 Hombre 83 2006 13109
Freire No 001 Mapuche 006 No 002 Hombre 260 2009 09105
Lago Ranco No 001 Mapuche 006 001 Mujer 892 2006 14203
Chiguayante No 001 No pertenece a ningún pueblo indígena 007 001 Hombre 32492 2006 08103
Codegua No 001 Mapuche 006 001 Hombre 144 2009 06102
Contulmo No 001 No pertenece a ningún pueblo indígena 007 001 Mujer 1045 2009 08204
Copiapó No 001 Atacameño 002 001 Mujer 356 2009 03101
Futaleufú No 001 No pertenece a ningún pueblo indígena 007 No 002 Mujer 44 2006 10402
Curicó No 001 Mapuche 006 001 Mujer 303 2009 07301
Rinconada No 001 No pertenece a ningún pueblo indígena 007 001 Hombre 2128 2006 05303
Toltén No 001 No pertenece a ningún pueblo indígena 007 No 002 Hombre 152 2006 09118
La Pintana No 001 No pertenece a ningún pueblo indígena 007 001 Mujer 57874 2009 13112
Vilcún No 001 Mapuche 006 001 Hombre 3247 2009 09119
Quellón No 001 Mapuche 006 001 Mujer 2845 2009 10208
Huechuraba No 001 No pertenece a ningún pueblo indígena 007 001 Mujer 25253 2009 13107
San Ramón No 001 Atacameño 002 001 Hombre 94 2006 13131
San Pablo No 001 Mapuche 006 001 Hombre 1077 2006 10307
Limache No 001 No pertenece a ningún pueblo indígena 007 001 Hombre 13490 2009 05802
Teodoro Schimdt No 001 Mapuche 006 No 002 Mujer 336 2006 09117
Mariquina No 001 Mapuche 006 001 Mujer 1636 2006 14106

1.1.3 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/s_enfermedad_accidente.xlsx")
# tabla_grande <- dbGetQuery(con, 'SELECT * FROM tabla_discapacidad')
# tabla_grande

1.2 Gráficos

1.2.1 Gráfico I

p1 <- plot_ly(receptaculo , x = ~anio , color = ~enfermedad_accidente) %>% 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

1.2.2 Gráfico II

p2 <- plot_ly(receptaculo , x = ~etnia , color = ~enfermedad_accidente)  %>% add_histogram()%>%
    layout(title = "Discapacidad por grupo etnico",
         xaxis = list(title = "Etnia"),showlegend = TRUE, autosize = F, legend = list(font = list(size = 8)))
p2



2. consulta_medica

¿Tuvo alguna consulta o atención médica por esa enfermedad o accidente?

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$S6
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$S10
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$s22
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$s19
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$s16
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$s16
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] <- "consulta_medica"
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/consulta_medica_",anio,".rds", sep="")
saveRDS(df,ingreso_rds)

# print(head(df,10))

}

for (n in 1:6){
  funcion1(n)
}

2.1 Tratamientos

2.1.1 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/consulta_medica_",numero,".rds", sep="")
    tablas <- readRDS(direc_tablas)

    receptaculo <<- rbind(receptaculo, tablas)

}

2.1.2 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$consulta_medica)
# receptaculo_unicos <- as.data.frame(receptaculo_unicos)
# write_xlsx(receptaculo_unicos,"diccionario/unico_consulta_medica.xlsx")
alfabetismo <- read_xlsx("diccionario/alfabetismo_unicos.xlsx")
categorias <- read_xlsx("diccionario/categorias_etnia.xlsx")
cat_disc <- read_xlsx("diccionario/unico_consulta_medica.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 = "consulta_medica", 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] <- "consulta_medica"
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 consulta_medica codigo_consulta_medica etnia codigo_etnia alfabetismo codigo_alfabetismo sexo frec anio codigo_comuna
Pica No 001 Aymara 003 001 Mujer 38 2015 01405
Huara No 001 Aymara 003 001 Mujer 42 2017 01404
Lumaco No 001 Mapuche 006 001 Hombre 33 2006 09207
Alto del Carmen No 001 Diaguita 005 001 Mujer 10 2009 03302
Arica No 001 Aymara 003 No 002 Mujer 21 2017 15101
Paillaco No 001 No pertenece a ningún pueblo indígena 007 001 Mujer 77 2013 14107
San Miguel No 001 No pertenece a ningún pueblo indígena 007 No 002 Mujer 28 2015 13130
Pica No 001 Aymara 003 001 Hombre 216 2017 01405
Máfil No 001 No pertenece a ningún pueblo indígena 007 No 002 Hombre 9 2009 14105
Curacautín No 001 No pertenece a ningún pueblo indígena 007 001 Hombre 19 2015 09203
Andacollo No 001 No pertenece a ningún pueblo indígena 007 001 Mujer 182 2015 04103
Pozo Almonte No 001 No pertenece a ningún pueblo indígena 007 001 Mujer 39 2015 01401
San Carlos No 001 No pertenece a ningún pueblo indígena 007 No 002 Mujer 48 2006 16301
Toltén No 001 No pertenece a ningún pueblo indígena 007 001 Mujer 139 2006 09118
Tierra Amarilla No 001 No pertenece a ningún pueblo indígena 007 No 002 Hombre 7 2006 03103
Viña del Mar No 001 No pertenece a ningún pueblo indígena 007 001 Hombre 4670 2009 05109
Rancagua No 001 Aymara 003 001 Hombre 75 2015 06101
Santa Juana No 001 No pertenece a ningún pueblo indígena 007 001 Hombre 21 2011 08109
Cobquecura No 001 No pertenece a ningún pueblo indígena 007 001 Hombre 28 2009 16202
Aisén No 001 No pertenece a ningún pueblo indígena 007 001 Mujer 117 2006 11201
Santa Juana No 001 No pertenece a ningún pueblo indígena 007 001 Mujer 52 2011 08109
Fresia No 001 No pertenece a ningún pueblo indígena 007 No 002 Hombre 13 2011 10104
Copiapó No 001 Diaguita 005 001 Hombre 21 2009 03101
Arica No 001 Aymara 003 001 Hombre 298 2015 15101
Toltén No 001 No pertenece a ningún pueblo indígena 007 001 Hombre 120 2006 09118
Santa María No 001 No pertenece a ningún pueblo indígena 007 001 Hombre 24 2011 05706
Valdivia No 001 No pertenece a ningún pueblo indígena 007 001 Hombre 875 2009 14101
Rancagua No 001 Mapuche 006 001 Hombre 180 2009 06101
La Reina No 001 No pertenece a ningún pueblo indígena 007 No 002 Mujer 114 2006 13113
La Unión No 001 Mapuche 006 001 Mujer 118 2006 14201

2.1.3 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/s_consulta_medica.xlsx")
# tabla_grande <- dbGetQuery(con, 'SELECT * FROM tabla_discapacidad')
# tabla_grande

2.2 Gráficos

2.2.1 Gráfico I

p1 <- plot_ly(receptaculo , x = ~anio , color = ~consulta_medica) %>% 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
## 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

2.2.2 Gráfico II

p2 <- plot_ly(receptaculo , x = ~etnia , color = ~consulta_medica)  %>% add_histogram()%>%
    layout(title = "Discapacidad por grupo etnico",
         xaxis = list(title = "Etnia"),showlegend = TRUE, autosize = F, legend = list(font = list(size = 8)))
p2
## Warning in RColorBrewer::brewer.pal(N, "Set2"): n too large, allowed maximum for palette Set2 is 8
## Returning the palette you asked for with that many colors

## Warning in RColorBrewer::brewer.pal(N, "Set2"): n too large, allowed maximum for palette Set2 is 8
## Returning the palette you asked for with that many colors



3. motivo_no_consulta_medica

¿Por qué no tuvo consulta ni atención?

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$S7
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$S11
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$s23
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$s20
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$s17
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$s17
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_no_consulta_medica"
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_no_consulta_medica_",anio,".rds", sep="")
saveRDS(df,ingreso_rds)

# print(head(df,10))

}

for (n in 1:6){
  funcion1(n)
}

3.1 Tratamientos

3.1.1 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/motivo_no_consulta_medica_",numero,".rds", sep="")
    tablas <- readRDS(direc_tablas)

    receptaculo <<- rbind(receptaculo, tablas)

}

3.1.2 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_no_consulta_medica)
# receptaculo_unicos <- as.data.frame(receptaculo_unicos)
# write_xlsx(receptaculo_unicos,"diccionario/unico_motivo_no_consulta_medica.xlsx")
alfabetismo <- read_xlsx("diccionario/alfabetismo_unicos.xlsx")
categorias <- read_xlsx("diccionario/categorias_etnia.xlsx")
cat_disc <- read_xlsx("diccionario/unico_motivo_no_consulta_medica.xlsx")
## New names:
## * `` -> ...3
cod_cat <- unique(cat_disc$cat_motivo_no_consulta_medica)
cod_cat<- as.data.frame(cod_cat)
rango <- seq(1:nrow(cod_cat))
cadena<- paste("000",seq(1:nrow(cod_cat)), sep = "")
cadena <- substr(cadena,(nchar(cadena)[rango])-(4-2),5)
cod_cat$codigo_discapacidad <- cadena
names(cod_cat)[1] <- "cat_motivo_no_consulta_medica"

cat_disc = merge( x = cat_disc, y = cod_cat, by = "cat_motivo_no_consulta_medica", all.x = TRUE)
cat_disc <- cat_disc[,c(2,1,4)]
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_no_consulta_medica", 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_consulta_medica"
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_consulta_medica codigo_discapacidad etnia codigo_etnia alfabetismo codigo_alfabetismo sexo frec anio codigo_comuna
San Pedro No lo consideró necesario así que no hizo nada 005 No pertenece a ningún pueblo indígena 007 001 Mujer 10 2006 13505
Limache No lo consideró necesario así que no hizo nada 005 No pertenece a ningún pueblo indígena 007 001 Mujer 104 2006 05802
Coyhaique No lo consideró necesario así que no hizo nada 005 No pertenece a ningún pueblo indígena 007 001 Mujer 418 2006 11101
Toltén No lo consideró necesario así que no hizo nada 005 Mapuche 006 001 Mujer 32 2006 09118
Contulmo No lo consideró necesario así que no hizo nada 005 Mapuche 006 001 Mujer 15 2006 08204
Río Bueno No lo consideró necesario así que no hizo nada 005 No pertenece a ningún pueblo indígena 007 001 Mujer 31 2006 14204
Marchihue No lo consideró necesario así que no hizo nada 005 No pertenece a ningún pueblo indígena 007 001 Mujer 27 2006 06204
Curicó No lo consideró necesario así que no hizo nada 005 No pertenece a ningún pueblo indígena 007 001 Hombre 314 2006 07301
Curarrehue No lo consideró necesario así que no hizo nada 005 Mapuche 006 001 Mujer 12 2006 09104
Futrono No lo consideró necesario así que no hizo nada 005 No pertenece a ningún pueblo indígena 007 001 Hombre 19 2006 14202
Coltauco No lo consideró necesario así que no hizo nada 005 No pertenece a ningún pueblo indígena 007 001 Hombre 63 2006 06104
Las Cabras No lo consideró necesario así que no hizo nada 005 No pertenece a ningún pueblo indígena 007 No 002 Mujer 62 2006 06107
Villarrica No lo consideró necesario así que no hizo nada 005 No pertenece a ningún pueblo indígena 007 001 Mujer 179 2006 09120
Tomé No lo consideró necesario así que no hizo nada 005 No pertenece a ningún pueblo indígena 007 001 Mujer 357 2006 08111
Valparaíso No lo consideró necesario así que no hizo nada 005 No pertenece a ningún pueblo indígena 007 001 Hombre 1138 2006 05101
Nogales No lo consideró necesario así que no hizo nada 005 No pertenece a ningún pueblo indígena 007 001 Mujer 137 2006 05506
María Elena No lo consideró necesario así que no hizo nada 005 No pertenece a ningún pueblo indígena 007 001 Hombre 19 2006 02302
María Elena No lo consideró necesario así que no hizo nada 005 No pertenece a ningún pueblo indígena 007 001 Mujer 6 2006 02302
María Pinto No lo consideró necesario así que no hizo nada 005 No pertenece a ningún pueblo indígena 007 No 002 Hombre 16 2006 13504
Peñalolén No lo consideró necesario así que no hizo nada 005 No pertenece a ningún pueblo indígena 007 001 Mujer 476 2006 13122
Hijuelas No lo consideró necesario así que no hizo nada 005 No pertenece a ningún pueblo indígena 007 001 Hombre 80 2006 05503
Graneros No lo consideró necesario así que no hizo nada 005 No pertenece a ningún pueblo indígena 007 001 Mujer 39 2006 06106
Cartagena No lo consideró necesario así que no hizo nada 005 No pertenece a ningún pueblo indígena 007 001 Mujer 66 2006 05603
El Bosque No lo consideró necesario así que no hizo nada 005 No pertenece a ningún pueblo indígena 007 001 Hombre 876 2006 13105
Villa Alegre No lo consideró necesario así que no hizo nada 005 No pertenece a ningún pueblo indígena 007 No 002 Hombre 13 2006 07407
Puerto Varas No lo consideró necesario así que no hizo nada 005 No pertenece a ningún pueblo indígena 007 001 Hombre 162 2006 10109
Chépica No lo consideró necesario así que no hizo nada 005 No pertenece a ningún pueblo indígena 007 001 Hombre 43 2006 06302
Papudo No lo consideró necesario así que no hizo nada 005 No pertenece a ningún pueblo indígena 007 001 Hombre 18 2006 05403
Gorbea No lo consideró necesario así que no hizo nada 005 No pertenece a ningún pueblo indígena 007 001 Hombre 101 2006 09107
Machalí No lo consideró necesario así que no hizo nada 005 No pertenece a ningún pueblo indígena 007 001 Mujer 88 2006 06108

3.1.3 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/s_motivo_no_consulta_medica.xlsx")
# tabla_grande <- dbGetQuery(con, 'SELECT * FROM tabla_discapacidad')
# tabla_grande

3.2 Gráficos

3.2.1 Gráfico I

p1 <- plot_ly(receptaculo , x = ~anio , color = ~motivo_no_consulta_medica) %>% 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
## 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

3.2.2 Gráfico II

p2 <- plot_ly(receptaculo , x = ~etnia , color = ~motivo_no_consulta_medica)  %>% add_histogram()%>%
    layout(title = "Discapacidad por grupo etnico",
         xaxis = list(title = "Etnia"),showlegend = TRUE, autosize = F, legend = list(font = list(size = 8)))
p2
## Warning in RColorBrewer::brewer.pal(N, "Set2"): n too large, allowed maximum for palette Set2 is 8
## Returning the palette you asked for with that many colors

## Warning in RColorBrewer::brewer.pal(N, "Set2"): n too large, allowed maximum for palette Set2 is 8
## Returning the palette you asked for with that many colors






4. cuantas_consulta_medica

¿Cuántas Consultas de Medicina General recibió?

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$S8A
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$S14A
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$s25a
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$s22a
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$s19a
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$s19a
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] <- "cuantas_consulta_medica"
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/cuantas_consulta_medica_",anio,".rds", sep="")
saveRDS(df,ingreso_rds)

# print(head(df,10))

}

for (n in 1:6){
  funcion1(n)
}

4.1 Tratamientos

4.1.1 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/cuantas_consulta_medica_",numero,".rds", sep="")
    tablas <- readRDS(direc_tablas)

    receptaculo <<- rbind(receptaculo, tablas)

}

4.1.2 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$cuantas_consulta_medica)
# receptaculo_unicos <- as.data.frame(receptaculo_unicos)
# write_xlsx(receptaculo_unicos,"diccionario/unico_cuantas_consulta_medica.xlsx")
alfabetismo <- read_xlsx("diccionario/alfabetismo_unicos.xlsx")
categorias <- read_xlsx("diccionario/categorias_etnia.xlsx")
cat_disc <- read_xlsx("diccionario/unico_cuantas_consulta_medica.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 = "cuantas_consulta_medica", 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] <- "cuantas_consulta_medicina_gen"
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 cuantas_consulta_medicina_gen codigo_cuantas_consulta_medica etnia codigo_etnia alfabetismo codigo_alfabetismo sexo frec anio codigo_comuna
Coquimbo 0 001 Aymara 003 001 Mujer 765 2015 04102
Petorca 0 001 Mapuche 006 No 002 Hombre 52 2015 05404
Recoleta 0 001 Quechua 009 001 Mujer 123 2015 13127
Santiago 0 001 No pertenece a ningún pueblo indígena 007 No 002 Mujer 188 2013 13101
Alto Biobío 0 001 No pertenece a ningún pueblo indígena 007 No 002 Hombre 23 2015 08314
Pozo Almonte 0 001 Aymara 003 No 002 Mujer 25 2015 01401
Punta Arenas 0 001 Aymara 003 001 Mujer 73 2015 12101
Ancud 0 001 Alacalufes 001 001 Mujer 29 2015 10202
Arica 0 001 Aymara 003 001 Hombre 8021 2015 15101
Alto Hospicio 0 001 Aymara 003 001 Mujer 3894 2015 01107
Puente Alto 0 001 Quechua 009 001 Mujer 96 2011 13201
Conchalí 0 001 Aymara 003 001 Mujer 73 2015 13104
Curicó 0 001 Mapuche 006 001 Mujer 1462 2013 07301
Rancagua 0 001 Mapuche 006 001 Hombre 8957 2011 06101
Arica 0 001 Aymara 003 001 Mujer 9899 2015 15101
Palmilla 0 001 No pertenece a ningún pueblo indígena 007 No 002 Mujer 104 2015 06306
Camiña 0 001 Aymara 003 001 Hombre 187 2015 01402
Melipeuco 0 001 Mapuche 006 001 Mujer 400 2011 09110
Vilcún 0 001 Mapuche 006 001 Mujer 1959 2011 09119
Curaco de Vélez 0 001 No pertenece a ningún pueblo indígena 007 No 002 Mujer 21 2011 10204
Aysén 0 001 Aymara 003 001 Mujer 41 2015 11201
Valdivia 0 001 No pertenece a ningún pueblo indígena 007 001 Mujer 43037 2011 14101
Camarones 0 001 Aymara 003 001 Mujer 355 2015 15102
Estación Central 0 001 Mapuche 006 001 Mujer 4461 2013 13106
Zapallar 0 001 No pertenece a ningún pueblo indígena 007 No 002 Hombre 16 2013 05405
Curanilahue 0 001 Mapuche 006 No 002 Hombre 27 2011 08205
Marchihue 0 001 No pertenece a ningún pueblo indígena 007 001 Hombre 2429 2015 06204
Camiña 0 001 Aymara 003 No 002 Mujer 12 2015 01402
Pozo Almonte 0 001 Aymara 003 No 002 Hombre 12 2015 01401
Laja 0 001 Mapuche 006 001 Hombre 100 2011 08304

4.1.3 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/s_cuantas_consulta_medica.xlsx")
# tabla_grande <- dbGetQuery(con, 'SELECT * FROM tabla_discapacidad')
# tabla_grande

4.2 Gráficos

4.2.1 Gráfico I

p1 <- plot_ly(receptaculo , x = ~anio , color = ~cuantas_consulta_medicina_gen) %>% 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
## 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

4.2.2 Gráfico II

p2 <- plot_ly(receptaculo , x = ~etnia , color = ~cuantas_consulta_medicina_gen)  %>% add_histogram()%>%
    layout(title = "Discapacidad por grupo etnico",
         xaxis = list(title = "Etnia"),showlegend = TRUE, autosize = F, legend = list(font = list(size = 8)))
p2
## Warning in RColorBrewer::brewer.pal(N, "Set2"): n too large, allowed maximum for palette Set2 is 8
## Returning the palette you asked for with that many colors

## Warning in RColorBrewer::brewer.pal(N, "Set2"): n too large, allowed maximum for palette Set2 is 8
## Returning the palette you asked for with that many colors



5. Lugar de consulta

¿En qué establecimiento recibió Medicina General?

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$S8B
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$S14B
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$s25b
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$s22b
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$s19b
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$s19b
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] <- "donde_consulta_medicina_gen"
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/donde_consulta_medicina_gen_",anio,".rds", sep="")
saveRDS(df,ingreso_rds)

# print(head(df,10))

}

for (n in 1:6){
  funcion1(n)
}

5.1 Tratamientos

5.1.1 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/donde_consulta_medicina_gen_",numero,".rds", sep="")
    tablas <- readRDS(direc_tablas)

    receptaculo <<- rbind(receptaculo, tablas)

}

5.1.2 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$donde_consulta_medicina_gen)
# receptaculo_unicos <- as.data.frame(receptaculo_unicos)
# write_xlsx(receptaculo_unicos,"diccionario/unico_donde_consulta_medicina_gen.xlsx")
alfabetismo <- read_xlsx("diccionario/alfabetismo_unicos.xlsx")
categorias <- read_xlsx("diccionario/categorias_etnia.xlsx")
cat_disc <- read_xlsx("diccionario/unico_donde_consulta_medicina_gen.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 = "donde_consulta_medicina_gen", 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] <- "donde_consulta_medicina_gen"
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 donde_consulta_medicina_gen codigo_donde_consulta_medicina_gen etnia codigo_etnia alfabetismo codigo_alfabetismo sexo frec anio codigo_comuna
Putaendo En una farmacia 010 No pertenece a ningún pueblo indígena 007 001 Hombre 15 2006 05705
Canela En una farmacia 010 No pertenece a ningún pueblo indígena 007 001 Hombre 14 2006 04202
Las Cabras En una farmacia 010 No pertenece a ningún pueblo indígena 007 001 Hombre 51 2006 06107
Machalí En una farmacia 010 No pertenece a ningún pueblo indígena 007 001 Mujer 37 2006 06108
Angol En una farmacia 010 No pertenece a ningún pueblo indígena 007 001 Hombre 95 2006 09201
Lolol En una farmacia 010 No pertenece a ningún pueblo indígena 007 001 Hombre 19 2006 06304
Huara En una farmacia 010 No pertenece a ningún pueblo indígena 007 001 Mujer 2 2006 01404
Lo Espejo En una farmacia 010 No pertenece a ningún pueblo indígena 007 001 Hombre 176 2006 13116
San Joaquín En una farmacia 010 No pertenece a ningún pueblo indígena 007 001 Hombre 67 2006 13129
Osorno En una farmacia 010 No pertenece a ningún pueblo indígena 007 001 Mujer 147 2006 10301
Queilén En una farmacia 010 No pertenece a ningún pueblo indígena 007 001 Mujer 4 2006 10207
San Vicente En una farmacia 010 No pertenece a ningún pueblo indígena 007 001 Hombre 46 2006 06117
Pirque En una farmacia 010 Mapuche 006 001 Mujer 21 2006 13202
Recoleta En una farmacia 010 Mapuche 006 001 Mujer 114 2006 13127
Melipilla En una farmacia 010 Mapuche 006 001 Mujer 226 2006 13501
Requínoa En una farmacia 010 No pertenece a ningún pueblo indígena 007 No 002 Hombre 30 2006 06116
Quinchao En una farmacia 010 No pertenece a ningún pueblo indígena 007 No 002 Mujer 9 2006 10210
Cerrillos En una farmacia 010 No pertenece a ningún pueblo indígena 007 001 Hombre 80 2006 13102
Talagante En una farmacia 010 No pertenece a ningún pueblo indígena 007 001 Mujer 73 2006 13601
Hualañé En una farmacia 010 No pertenece a ningún pueblo indígena 007 001 Mujer 11 2006 07302
Maipú En una farmacia 010 No pertenece a ningún pueblo indígena 007 001 Hombre 601 2006 13119
Pirque En una farmacia 010 No pertenece a ningún pueblo indígena 007 001 Mujer 19 2006 13202
Valdivia En una farmacia 010 No pertenece a ningún pueblo indígena 007 001 Mujer 178 2006 14101
Casablanca En una farmacia 010 No pertenece a ningún pueblo indígena 007 001 Mujer 27 2006 05102
Iquique En una farmacia 010 No pertenece a ningún pueblo indígena 007 001 Mujer 199 2006 01101
Marchihue En una farmacia 010 No pertenece a ningún pueblo indígena 007 No 002 Mujer 14 2006 06204
Lolol En una farmacia 010 No pertenece a ningún pueblo indígena 007 001 Mujer 30 2006 06304
Concepción En una farmacia 010 No pertenece a ningún pueblo indígena 007 001 Mujer 278 2006 08101
San Ramón En una farmacia 010 No pertenece a ningún pueblo indígena 007 001 Hombre 90 2006 13131
Linares En una farmacia 010 No pertenece a ningún pueblo indígena 007 001 Mujer 186 2006 07401

5.1.3 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/s_donde_consulta_medicina_gen.xlsx")
# tabla_grande <- dbGetQuery(con, 'SELECT * FROM tabla_discapacidad')
# tabla_grande

5.2 Gráficos

5.2.1 Gráfico I

p1 <- plot_ly(receptaculo , x = ~anio , color = ~donde_consulta_medicina_gen) %>% 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
## 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

5.2.2 Gráfico II

p2 <- plot_ly(receptaculo , x = ~etnia , color = ~donde_consulta_medicina_gen)  %>% add_histogram()%>%
    layout(title = "Discapacidad por grupo etnico",
         xaxis = list(title = "Etnia"),showlegend = TRUE, autosize = F, legend = list(font = list(size = 8)))
p2
## Warning in RColorBrewer::brewer.pal(N, "Set2"): n too large, allowed maximum for palette Set2 is 8
## Returning the palette you asked for with that many colors

## Warning in RColorBrewer::brewer.pal(N, "Set2"): n too large, allowed maximum for palette Set2 is 8
## Returning the palette you asked for with that many colors



6. Lugar de consulta

¿En qué establecimiento recibió Medicina General?

PENDIENTE!!!