Hacemos uso del módulo de salud de la ENAHO las variables p401h1 al p401h6 que explora las preguntas:
Se codifican las respuestas afrimativas “Sí”.
library(openxlsx)
library(rmarkdown)
library(tidyverse)
library(haven)
library(foreign)
library(survey)
library(knitr)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" 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"))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"))Aquellas variables que nos sirven para realizar las desagregaciones posteriores.
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
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)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
#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)
}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 |
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 |
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_excel2("DINDES-37-DEMO-03-CALG.xlsx", list(datos,datos1,datos4))