DESCRIPCIÓN DEL INDICADOR

Hacemos uso del módulo de salud de la ENAHO las variables p401h1 al p401h6 que explora las preguntas:

    1. ¿Tiene Ud. limitaciones de forma permanente, para: Moverse o caminar, para usar brazos o piernas?
    1. ¿Tiene Ud. limitaciones de forma permanente, para: Ver aún usando anteojos?
    1. ¿Tiene Ud. limitaciones de forma permanente, para: hablar o comunicarse, aún usando el lenguaje de señas u otro?
    1. ¿Tiene Ud. limitaciones de forma permanente, para: Oir, aún usando audífonos?
    1. ¿Tiene Ud. limitaciones de forma permanente, para: Entender o aprender (concentrarse y recordar)?
    1. ¿Tiene Ud. limitaciones de forma permanente, para: Relacionarse con los demás, por sus pensamientos, sentimientos, emociones o conductas?

Se codifican las respuestas afrimativas “Sí”.

MODELADO DE BASE DATO

PAQUETES ESTADÍSTICOS

library(openxlsx) 
library(rmarkdown) 
library(tidyverse) 
library(haven) 
library(foreign) 
library(survey) 
library(knitr)

GENERAMOS UNA RUTA PARA GUARDAR NUESTROS DATOS

Una ruta hacia una carpeta donde almacenaremos los excel que se elaborarán posteriormente, que contarán con dataset de información construida.

ruta <- "C:/Users/Trabajo/Desktop/RDATA" 

CARGAR BASES DE DATOS

Cargamos todas las bases de datos que nos permitan hacer un filtro por temáticas de interés general (Discapacidad, etnicidad, lengua originaria, PEA, etc)

choose.files()
## character(0)
cmh <- read_dta("C:\\Users\\Trabajo\\Desktop\\ENAHO\\CMH - 759-Modulo02\\enaho01-2022-200.dta")
sumaria2022 <- read_dta("C:\\Users\\Trabajo\\Desktop\\ENAHO\\SUMARIA - 759-Modulo34\\sumaria-2022.dta")
educacion2022 <- read_dta("C:\\Users\\Trabajo\\Desktop\\ENAHO\\EDUACIÓN - 759-Modulo03\\enaho01a-2022-300.dta")
salud2022 <- read_dta("C:\\Users\\Trabajo\\Desktop\\ENAHO\\SALUD - 759-Modulo04\\enaho01a-2022-400.dta")
empleo2022 <- read_dta("C:\\Users\\Trabajo\\Desktop\\ENAHO\\EMPLEO - 759-Modulo05\\enaho01a-2022-500.dta")

sumaria2022 <- subset(sumaria2022, select= c("conglome","hogar","vivienda","pobreza","estrsocial"))
empleo2022 <- subset(empleo2022, select = c("codperso","conglome","vivienda","hogar","p558c")) 
educacion2022 <- subset(educacion2022, select = c("codperso","conglome","vivienda","hogar","p300a"))
salud2022 <- subset(salud2022, select = c("codperso","conglome","vivienda","hogar","p401h1","p401h2","p401h3","p401h4","p401h5","p401h6"))

UNIÓN DE BASES DE DATOS

enaho0 <- left_join(cmh, educacion2022, by=c("codperso","conglome", "vivienda", "hogar"))
enaho1 <- left_join(enaho0, salud2022, by=c("codperso","conglome", "vivienda", "hogar"))
enaho2 <- left_join(enaho1, empleo2022, by=c("codperso","conglome", "vivienda", "hogar"))
enaho <- left_join(enaho2,sumaria2022, by =c("conglome", "vivienda", "hogar"))

ELABORACION DE VARIABLES PARA DESAGREGACIONES

VARIABLES TRANSVERSALES

Aquellas variables que nos sirven para realizar las desagregaciones posteriores.

DEPARTAMENTOS

Hay que convertir la variable ubigeo.x (el “.x” es producto de la unión de bases de datos) a numérico para no encontrar problemas al momento de recodificar

enaho$ubigeonum <- as.numeric(enaho$ubigeo)

enaho <- enaho %>%
  mutate(regiones2 = 
         ifelse(ubigeonum >= 010101 & ubigeonum <= 010707, "Amazonas", 
         ifelse(ubigeonum >= 020101 & ubigeonum <= 022008, "Ancash",
         ifelse(ubigeonum >= 030101 & ubigeonum <= 030714, "Apurimac",
         ifelse(ubigeonum >= 040101 & ubigeonum <= 040811, "Arequipa",
         ifelse(ubigeonum >= 050101 & ubigeonum <= 051108, "Ayacucho",
         ifelse(ubigeonum >= 060101 & ubigeonum <= 061311, "Cajamarca",
         ifelse(ubigeonum >= 070101 & ubigeonum <= 070107, "Callao",
         ifelse(ubigeonum >= 080101 & ubigeonum <= 081307, "Cusco",
         ifelse(ubigeonum >= 090101 & ubigeonum <= 090723, "Huancavelica",
         ifelse(ubigeonum >= 100101 & ubigeonum <= 101108, "Huanuco",
         ifelse(ubigeonum >= 110101 & ubigeonum <= 110508, "Ica",
         ifelse(ubigeonum >= 120101 & ubigeonum <= 120909, "Junin",
         ifelse(ubigeonum >= 130101 & ubigeonum <= 131203, "La Libertad",
         ifelse(ubigeonum >= 140101 & ubigeonum <= 140312, "Lambayeque",
         ifelse(ubigeonum >= 150101 & ubigeonum <= 150143, "Lima Metropolitana",
         ifelse(ubigeonum >= 150201 & ubigeonum <= 151033, "Lima Region",
         ifelse(ubigeonum >= 160101 & ubigeonum <= 160804, "Loreto",
         ifelse(ubigeonum >= 170101 & ubigeonum <= 170303, "Madre de Dios",
         ifelse(ubigeonum >= 180101 & ubigeonum <= 180303, "Moquegua",
         ifelse(ubigeonum >= 190101 & ubigeonum <= 190308, "Pasco",
         ifelse(ubigeonum >= 200101 & ubigeonum <= 200806, "Piura",
         ifelse(ubigeonum >= 210101 & ubigeonum <= 211307, "Puno",
         ifelse(ubigeonum >= 220101 & ubigeonum <= 221005, "San Martín",
         ifelse(ubigeonum >= 230101 & ubigeonum <= 230408, "Tacna",
         ifelse(ubigeonum >= 240101 & ubigeonum <= 240304, "Tumbes",
         ifelse(ubigeonum >= 250101 & ubigeonum <= 250401, "Ucayali",NA)))))))))))))))))))))))))))

enaho$regiones2<-as.factor(enaho$regiones2)
table(enaho$regiones2, useNA = "alw")
## 
##           Amazonas             Ancash           Apurimac           Arequipa 
##               4668               5020               3141               5306 
##           Ayacucho          Cajamarca             Callao              Cusco 
##               3632               4870               3684               4016 
##       Huancavelica            Huanuco                Ica              Junin 
##               3524               4497               5178               4998 
##        La Libertad         Lambayeque Lima Metropolitana        Lima Region 
##               5677               5467              10856               4926 
##             Loreto      Madre de Dios           Moquegua              Pasco 
##               6490               2056               2946               3119 
##              Piura               Puno         San Martín              Tacna 
##               6375               3396               5201               4161 
##             Tumbes            Ucayali               <NA> 
##               3148               4901                  0

RANGOS ETARIOS: INTERÉS JUVENTUD

enaho <- enaho %>% mutate(Juventud = ifelse(p208a>=15 & p208a<=29,"jovenes",NA))
enaho$Juventud <- as.factor(enaho$Juventud)

enaho <- enaho %>% mutate(poblaciontotal = ifelse(p208a>=15,"poblacion",NA))
enaho$poblaciontotal <- as.factor(enaho$poblaciontotal)

DISCAPACIDAD

enaho <- enaho %>%
  mutate(discapacidad =ifelse(p401h1==1|p401h2==1|p401h3==1|
                                p401h4==1|p401h5==1|p401h6==1,"Con alguna discapacidad","Sin alguna discapacidad"))
enaho$discapacidad <- as.factor(enaho$discapacidad)
table(enaho$discapacidad, useNA = "alw")
## 
## Con alguna discapacidad Sin alguna discapacidad                    <NA> 
##                    5715                  108906                    6632

PONDERACIÓN DE DATOS, DATASETS Y TRASLADO A EXCEL

DISEÑO MUESTRAL Y FUNCION EXPORTAR A EXCEL

#DISEÑO MUESTRAL
encuesta = svydesign(data=enaho, id=~conglome, strata=~estrato,
                     weights=~facpob07)

# Función para generar un archivo excel con todas las desagregaciones en pestañas
generar_archivo_excel2 <- function(nombre_archivo, datos) {
  workbook <- createWorkbook()
  
  for (i in seq_along(datos)) {
    addWorksheet(workbook, sheetName = paste("Datos", i-1, sep = ""))
    writeData(workbook, sheet = paste("Datos", i-1, sep = ""), x = datos[[i]], colNames = TRUE)
  }
  
  saveWorkbook(workbook, nombre_archivo)
}

DESAGREGACION NACIONAL POBLACION TOTAL (15 a más años de edad)

tabla <- svyby(~discapacidad, ~poblaciontotal, encuesta, svymean, deff=F, na.rm=T)
ic <- confint(tabla)
cv<-cv(tabla)


ic <- subset(ic, !grepl("discapacidadSin", rownames(ic)))
ic <- as.data.frame(ic)

cv <- cv %>% select(!contains("se.discapacidadSin"))
names(cv) <- c("coef. var")

tabla <- tabla %>% select(!contains("discapacidadSin") & !contains("se.discapacidad"))
names(tabla) <- c("Población total","%")

datos<-bind_cols(tabla, cv, ic)
kable(datos, format = "markdown")
Población total % coef. var 2.5 % 97.5 %
poblacion poblacion 0.0572268 0.0241271 0.0545207 0.059933

DESAGREGACION NACIONAL POBLACION JOVEN (15 a 29 años)

tabla1 <- svyby(~discapacidad, ~Juventud, encuesta, svymean, deff=F, na.rm=T)
ic1 <- confint(tabla1)
cv1<-cv(tabla1)


ic1 <- subset(ic1, !grepl("discapacidadSin", rownames(ic1)))
ic1 <- as.data.frame(ic1)

cv1 <- cv1 %>% select(!contains("se.discapacidadSin"))
names(cv1) <- c("coef. var")

tabla1 <- tabla1 %>% select(!contains("discapacidadSin") & !contains("se.discapacidad"))
names(tabla1) <- c("Juventud","%")

datos1<-bind_cols(tabla1, cv1, ic1)
kable(datos1, format = "markdown")
Juventud % coef. var 2.5 % 97.5 %
jovenes jovenes 0.0227929 0.0601445 0.020106 0.0254797

DESAGREGACION SEGÚN DEPARTAMENTOS

tabla4 <- svyby(~discapacidad, ~Juventud+regiones2, encuesta, svymean, deff=F, na.rm=T)
ic4 <- confint(tabla4)
cv4<-cv(tabla4)

ic4 <- subset(ic4, !grepl("discapacidadSin", rownames(ic4)))
ic4 <- as.data.frame(ic4)

cv4 <- cv4 %>% select(!contains("se.discapacidadSin"))
names(cv4) <- c("coef. var")

tabla4 <- tabla4 %>% select(!contains("discapacidadSin") & !contains("se.discapacidad"))
names(tabla4) <- c("Juventud","Departamentos","%")

datos4<-bind_cols(tabla4, cv4, ic4)
kable(datos4, format = "markdown")
Juventud Departamentos % coef. var 2.5 % 97.5 %
jovenes.Amazonas jovenes Amazonas 0.0216830 0.2732491 0.0100705 0.0332955
jovenes.Ancash jovenes Ancash 0.0153951 0.2770869 0.0070343 0.0237559
jovenes.Apurimac jovenes Apurimac 0.0182339 0.3011158 0.0074727 0.0289951
jovenes.Arequipa jovenes Arequipa 0.0189788 0.2272483 0.0105257 0.0274319
jovenes.Ayacucho jovenes Ayacucho 0.0166495 0.3215213 0.0061575 0.0271415
jovenes.Cajamarca jovenes Cajamarca 0.0168088 0.2701570 0.0079086 0.0257090
jovenes.Callao jovenes Callao 0.0282099 0.2766373 0.0129145 0.0435052
jovenes.Cusco jovenes Cusco 0.0261133 0.2383652 0.0139135 0.0383131
jovenes.Huancavelica jovenes Huancavelica 0.0199485 0.2652902 0.0095761 0.0303209
jovenes.Huanuco jovenes Huanuco 0.0277641 0.2175143 0.0159277 0.0396004
jovenes.Ica jovenes Ica 0.0238906 0.2133208 0.0139019 0.0338793
jovenes.Junin jovenes Junin 0.0253891 0.2065145 0.0151126 0.0356657
jovenes.La Libertad jovenes La Libertad 0.0168081 0.2395065 0.0089180 0.0246982
jovenes.Lambayeque jovenes Lambayeque 0.0215283 0.2013000 0.0130345 0.0300221
jovenes.Lima Metropolitana jovenes Lima Metropolitana 0.0223504 0.1494913 0.0158018 0.0288990
jovenes.Lima Region jovenes Lima Region 0.0132032 0.3322772 0.0046046 0.0218019
jovenes.Loreto jovenes Loreto 0.0176955 0.2208756 0.0100350 0.0253560
jovenes.Madre de Dios jovenes Madre de Dios 0.0720259 0.2586316 0.0355154 0.1085365
jovenes.Moquegua jovenes Moquegua 0.0208898 0.4010051 0.0044713 0.0373082
jovenes.Pasco jovenes Pasco 0.0107648 0.4351726 0.0015833 0.0199464
jovenes.Piura jovenes Piura 0.0238269 0.2207500 0.0135179 0.0341359
jovenes.Puno jovenes Puno 0.0406283 0.2244543 0.0227550 0.0585016
jovenes.San Martín jovenes San Martín 0.0260009 0.2249367 0.0145379 0.0374638
jovenes.Tacna jovenes Tacna 0.0504801 0.3323741 0.0175953 0.0833650
jovenes.Tumbes jovenes Tumbes 0.0067875 0.4966436 0.0001805 0.0133945
jovenes.Ucayali jovenes Ucayali 0.0219638 0.2508314 0.0111659 0.0327616

GENERAR ARCHIVO EXCEL

generar_archivo_excel2("DINDES-37-DEMO-03-CALG.xlsx", list(datos,datos1,datos4))