DESCRIPCIÓN DEL INDICADOR

Numerador: Residentes del hogar de entre 15 y 29 años en el Capítulo 300 Módulo de Educación, pregunta 307 item 2, no asiste algún centro o programa de educación básica o superior y el Capítulo 500 Módulo de Empleo OCU500 tiene el valor 2 “desocupado”.

PASOS PREVIOS PARA EL MODELADO DE DATOS

Previamente al trabajo en RStudio, será necesario generar la variable NINIS (tasa_7) en STATA, puesto que en R no se logra calcular completamente.Una vez generado la variable, procedemos a guardar la base de datos e importarla a R para calcular el indicador.

No olvides colocar las bases de datos en un directorio específico y trabajar con ese directorio

cd “ruta del directorio”

Usar el mod300 educacion

use enaho01a-2019-300.dta, clear
keep conglome vivienda hogar codperso t313 p306 p307 p301a
sort conglome vivienda hogar codperso
saveold “var-300.dta”, replace
clear all

use enaho01a-2019-500.dta, clear
sort conglome vivienda hogar codperso
merge conglome vivienda hogar codperso using “var-300.dta”

CONSTRUCCIÒN DE LA VARIABLE NINIS 2021 Y 2019 (para 2020 INEI hizo una modificación al cálculo por pandemia)

gen asist7=1 if (ocu500==2 & (p306==1 & p307==2 & (t313a ~= 2 & t313a ~= 6 & t313a ~= 8 & t313a ~= 12) ))
replace asist7=2 if (ocu500==3 & (p306==1 & p307==2 & (t313a ~= 2 & t313a ~= 6 & t313a ~= 8 & t313a ~= 12) ))
replace asist7=3 if (ocu500==4 & (p306==1 & p307==2 & (t313a ~= 2 & t313a ~= 6 & t313a ~= 8 & t313a ~= 12) ))
replace asist7=4 if (ocu500==2 & p306==2 & (t313a ~= 2 & t313a ~= 6 & t313a ~= 8 & t313a ~= 12) )
replace asist7=5 if (ocu500==3 & p306==2 & (t313a ~= 2 & t313a ~= 6 & t313a ~= 8 & t313a ~= 12) )
replace asist7=6 if (ocu500==4 & p306==2 & (t313a ~= 2 & t313a ~= 6 & t313a ~= 8 & t313a ~= 12) )
replace asist7=7 if (ocu500==2|ocu500==3|ocu500==4) & p306==2 & t313a==.
replace asist7=8 if (ocu500==2|ocu500==3|ocu500==4) & p306==1 & p307==2 & t313a==.
gen tasah=1 if(asist7>0 & asist7<=8)
recode tasah (1=1) (.=0), g(tasa_7)
label define tasa_7 1 “NINI” 0 “No NINI”
label value tasa_7 tasa_7 gen tasah=1 if(asist7>0 & asist7<=8)
recode tasah (1=1) (.=0), g(tasa_7)
label define tasa_7 1 “NINI” 0 “No NINI”
label value tasa_7 tasa_7

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 Y UNION DE BASES DE DATOS

choose.files()
## character(0)
empleo2022 <- read_dta("C:\\Users\\Trabajo\\Desktop\\DIR STATA\\EMPLEO\\2020\\empleo2022NINI.dta")
educacion2022 <- read_dta("C:\\Users\\Trabajo\\Desktop\\ENAHO\\EDUACIÓN - 759-Modulo03\\enaho01a-2022-300.dta")
sumaria2022 <- read_dta("C:\\Users\\Trabajo\\Desktop\\ENAHO\\SUMARIA - 759-Modulo34\\sumaria-2022.dta")
salud2022 <- read_dta("C:\\Users\\Trabajo\\Desktop\\ENAHO\\SALUD - 759-Modulo04\\enaho01a-2022-400.dta")

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))
sumaria2022 <- subset(sumaria2022, select = c(conglome,vivienda,hogar,pobreza))

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

ELABORACION DE VARIABLES PARA DESAGREGACIONES

SEXO

enaho <- enaho %>% mutate(Sexo = ifelse(p207==1,"hombre",ifelse(p207==2,"Mujer",NA)))

DEPARTAMENTO

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)))))))))))))))))))))))))))
table(enaho$regiones2, useNA = "alw")
## 
##           Amazonas             Ancash           Apurimac           Arequipa 
##               3126               3578               2313               3942 
##           Ayacucho          Cajamarca             Callao              Cusco 
##               2593               3527               2804               3069 
##       Huancavelica            Huanuco                Ica              Junin 
##               2584               3043               3812               3660 
##        La Libertad         Lambayeque Lima Metropolitana        Lima Region 
##               4065               3991               8548               3678 
##             Loreto      Madre de Dios           Moquegua              Pasco 
##               4108               1437               2291               2131 
##              Piura               Puno         San Martín              Tacna 
##               4447               2667               3569               3221 
##             Tumbes            Ucayali               <NA> 
##               2283               3174              22596

REGIONES NATURALES

enaho <- enaho %>%
  mutate(regnat = ifelse(dominio>=1 & dominio<=3 | dominio==8,"Costa",
                         ifelse(dominio>=4 & dominio<=6,"Sierra",
                                ifelse(dominio==7,"Selva",NA))))
table(enaho$regnat, useNA = "alw")
## 
##  Costa  Selva Sierra   <NA> 
##  38829  18847  29985  22596

AREA URBANA/RURAL

enaho <- enaho %>%
  mutate(area = ifelse((dominio==8 |
                          (dominio>=1 & dominio<=7) &
                          (estrato>=1 & estrato<=5)), "Urbano",
                       ifelse(((dominio>=1 & dominio<=7) &
                                 (estrato>=6 & estrato<=8)), "Rural", NA)))
table(enaho$area, useNA = "alw")
## 
##  Rural Urbano   <NA> 
##  28845  58816  22596

CONDICION DE POBREZA

enaho <- enaho %>%
  mutate(pobreza3 = ifelse(pobreza==1, "Pobre extremo",
                           ifelse(pobreza==2, "Pobre no extremo",
                                  ifelse(pobreza==3, "No pobre", NA
                                  ))))
table(enaho$pobreza3, useNA = "alw")
## 
##         No pobre    Pobre extremo Pobre no extremo             <NA> 
##            82518             6166            21573                0

LENGUA MATERNA

enaho <- enaho %>%
  mutate(lengua = ifelse(p300a==4, "Castellano",
                         ifelse(p300a==1 | p300a==2 | p300a==3, "Originaria", NA)))

enaho$lengua <- as.factor(enaho$lengua)
table(enaho$lengua, useNA = "alw")
## 
## Castellano Originaria       <NA> 
##      88959      19163       2135

DISCAPACIDAD

enaho <- enaho %>%
  mutate(discapacidad =ifelse(p401h1==1|p401h2==1|p401h3==1|
                                p401h4==1|p401h5==1|p401h6==1,1,0))
table(enaho$discapacidad, useNA = "alw")
## 
##      0      1   <NA> 
## 104479   5691     87

ETNICIDAD

enaho <- enaho %>%
  mutate(defiet2 = case_when(
    p558c == 1 ~ "Indigena",
    p558c == 2 ~ "Indigena",
    p558c == 3 ~ "Indigena",
    p558c == 4 ~ "Negro, mulato, Afro peruano",
    p558c == 5 ~ "Otro",
    p558c == 6 ~ "Mestizo",
    p558c == 7 ~ "otro",
    p558c == 8 ~ "No sabe/No responde",
    p558c == 9 ~ "Indigena",
    TRUE ~ NA_character_
  ))
enaho$defiet2 <- as.factor(enaho$defiet2)
table(enaho$defiet2, useNA = "alw")
## 
##                    Indigena                     Mestizo 
##                       26043                       44600 
## Negro, mulato, Afro peruano         No sabe/No responde 
##                        6047                        3517 
##                        otro                        Otro 
##                        3626                        3701 
##                        <NA> 
##                       22723

VARIABLES INDICADOR

LA VARIABLE NINIS YA HA SIDO CALCULADA USANDO STATA.VER DO FILE COMPARTIDO EN LA CARPETA ONLINE. (variable: tasa_7) ### VARIABLE RESIDENTE

enaho$res <- as.integer(((enaho$p204 == 1 & enaho$p205 == 2) | (enaho$p204 == 2 & enaho$p206 == 1)) & enaho$p208a >= 15 & enaho$p208a <= 29 & enaho$ocu500 > 0)
enaho$res <- factor(enaho$res, levels = c("0", "1"))
levels(enaho$res) <- c("No residente", "Residente")
table(enaho$res)
## 
## No residente    Residente 
##        63059        24602

VARIABLE JOVEN (15 A 29 AÑOS) / POB TOTAL (15 A MÁS)

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

enaho <- enaho %>% 
  mutate(POBTOTAL = ifelse(p208a >= 15,"POB TOTAL","NA"))
enaho$POBTOTAL <- as.factor(enaho$POBTOTAL)

PONDERACIÓN DE DATOS, DATASETS Y TRASLADO A EXCEL

DISEÑO MUESTRAL

# Diseño muestral para la ponderación de valores
enaho_limpio <- subset(enaho, !is.na(fac500a))
encuesta = svydesign(data=enaho_limpio, id=~conglome, strata=~estrato,
                     weights=~fac500a, na.rm = TRUE)

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

DESAGREGACIÓN NACIONAL

tabla <- svyby(~tasa_7, ~Juventud, encuesta, svymean, deff=F, na.rm=T)
ic <- confint(tabla)
cv<-cv(tabla)
tabla <- tabla %>% select(!contains("se"))
datos<-bind_cols(tabla, cv, ic)
## New names:
## • `` -> `...3`
names(datos) <- c("Población Joven NINI","%","Coef. Var","Int.Inf","Int.Sup")
kable(datos, format = "markdown")
Población Joven NINI % Coef. Var Int.Inf Int.Sup
Joven Joven 0.1822757 0.0202086 0.1750561 0.1894953

DESAGREGACIÓN SEGÚN SEXO

1:Hombre 2:Mujer

tabla1 <- svyby(~tasa_7, ~Juventud+p207, encuesta, svymean, deff=F, na.rm=T)
ic1 <- confint(tabla1)
cv1<-cv(tabla1)
cv1<- as.data.frame(cv1)
tabla1 <- tabla1 %>% select(!contains("se"))
datos1<-bind_cols(tabla1, cv1, ic1)
datos1
names(datos1) <- c("Población Joven NINI","Sexo","%","Coef. Var","Int.Inf","Int.Sup")
kable(datos1, format = "markdown")
Población Joven NINI Sexo % Coef. Var Int.Inf Int.Sup
Joven.1 Joven 1 0.1206156 0.0341453 0.1125436 0.1286877
Joven.2 Joven 2 0.2463856 0.0241369 0.2347297 0.2580414

DESAGREGACIÓN SEGÚN ÁREA DE DOMICILIO (RURAL / URBANA)

tabla2 <- svyby(~tasa_7, ~Juventud+area, encuesta, svymean, deff=F, na.rm=T)
ic2 <- confint(tabla2)
cv2<-cv(tabla2)
cv2<- as.data.frame(cv2)
tabla2 <- tabla2 %>% select(!contains("se"))
datos2<-bind_cols(tabla2, cv2, ic2)
names(datos2) <- c("Población Joven NINI","Área","%","Coef. Var","Int.Inf","Int.Sup")
kable(datos2, format = "markdown")
Población Joven NINI Área % Coef. Var Int.Inf Int.Sup
Joven.Rural Joven Rural 0.1510385 0.0339423 0.1409906 0.1610865
Joven.Urbano Joven Urbano 0.1898443 0.0231650 0.1812249 0.1984637

DESAGREGACIÓN SEGUN REGIÓN NATURAL (COSTA, SIERRA, SELVA)

tabla3 <- svyby(~tasa_7, ~Juventud+regnat, encuesta, svymean, deff=F, na.rm=T)
ic3 <- confint(tabla3)
cv3<-cv(tabla3)
cv3<- as.data.frame(cv3)
tabla3 <- tabla3 %>% select(!contains("se"))
datos3<-bind_cols(tabla3, cv3, ic3)
names(datos3) <- c("Población Joven","Regiòn natural","%","Coef. Var","Int.Inf","Int.Sup")
kable(datos3, format = "markdown")
Población Joven Regiòn natural % Coef. Var Int.Inf Int.Sup
Joven.Costa Joven Costa 0.2008356 0.0274017 0.1900495 0.2116218
Joven.Selva Joven Selva 0.1750981 0.0383604 0.1619334 0.1882629
Joven.Sierra Joven Sierra 0.1508092 0.0363489 0.1400652 0.1615532

DESAGREGACIÓN SEGÚN DEPARTAMENTOS

tabla4 <- svyby(~tasa_7, ~Juventud+regiones2, encuesta, svymean, deff=F, na.rm=T)
ic4 <- confint(tabla4)
cv4<-cv(tabla4)
cv4<- as.data.frame(cv4)
tabla4 <- tabla4 %>% select(!contains("se"))
datos4<-bind_cols(tabla4, cv4, ic4)
names(datos4) <- c("Población Joven NINI","Departamentos","%","Coef. Var","Int.Inf","Int.Sup")
kable(datos4, format = "markdown")
Población Joven NINI Departamentos % Coef. Var Int.Inf Int.Sup
Joven.Amazonas Joven Amazonas 0.1405305 0.1008190 0.1127614 0.1682995
Joven.Ancash Joven Ancash 0.1258607 0.1024905 0.1005781 0.1511434
Joven.Apurimac Joven Apurimac 0.1136310 0.1200468 0.0868950 0.1403669
Joven.Arequipa Joven Arequipa 0.1725816 0.0996991 0.1388580 0.2063052
Joven.Ayacucho Joven Ayacucho 0.1567969 0.1151602 0.1214063 0.1921876
Joven.Cajamarca Joven Cajamarca 0.1770566 0.0944121 0.1442933 0.2098199
Joven.Callao Joven Callao 0.2093919 0.0772649 0.1776824 0.2411015
Joven.Cusco Joven Cusco 0.1616935 0.0949439 0.1316045 0.1917825
Joven.Huancavelica Joven Huancavelica 0.1063302 0.2116147 0.0622290 0.1504314
Joven.Huanuco Joven Huanuco 0.1546607 0.1038311 0.1231865 0.1861350
Joven.Ica Joven Ica 0.1636995 0.0779608 0.1386862 0.1887129
Joven.Junin Joven Junin 0.1473958 0.0902854 0.1213132 0.1734784
Joven.La Libertad Joven La Libertad 0.2109308 0.0659892 0.1836498 0.2382119
Joven.Lambayeque Joven Lambayeque 0.1878670 0.0628002 0.1647432 0.2109908
Joven.Lima Metropolitana Joven Lima Metropolitana 0.2039701 0.0450837 0.1859468 0.2219934
Joven.Lima Region Joven Lima Region 0.1848577 0.0697025 0.1596034 0.2101119
Joven.Loreto Joven Loreto 0.2276983 0.0600729 0.2008889 0.2545076
Joven.Madre de Dios Joven Madre de Dios 0.1722543 0.1778989 0.1121935 0.2323152
Joven.Moquegua Joven Moquegua 0.1848755 0.0991395 0.1489523 0.2207986
Joven.Pasco Joven Pasco 0.1591102 0.1274201 0.1193742 0.1988462
Joven.Piura Joven Piura 0.2083439 0.0570025 0.1850672 0.2316207
Joven.Puno Joven Puno 0.1421675 0.1011477 0.1139834 0.1703516
Joven.San Martín Joven San Martín 0.1416118 0.0891498 0.1168679 0.1663557
Joven.Tacna Joven Tacna 0.1793473 0.1154730 0.1387569 0.2199378
Joven.Tumbes Joven Tumbes 0.1921749 0.0848294 0.1602234 0.2241264
Joven.Ucayali Joven Ucayali 0.1826249 0.0779862 0.1547107 0.2105391

DESAGREGACIÓN SEGUN CONDICIÓN DE POBREZA

tabla5 <- svyby(~tasa_7, ~Juventud+pobreza3, encuesta, svymean, deff=F, na.rm=T)
ic5 <- confint(tabla5)
cv5<-cv(tabla5)
cv5<- as.data.frame(cv5)
tabla5 <- tabla5 %>% select(!contains("se"))
datos5<-bind_cols(tabla5, cv5, ic5)
names(datos5) <- c("Población Joven NINI","%","Promedio Mensual","Coef. Var","Int.Inf","Int.Sup")
kable(datos5, format = "markdown")
Población Joven NINI % Promedio Mensual Coef. Var Int.Inf Int.Sup
Joven.No pobre Joven No pobre 0.1589720 0.0245434 0.1513248 0.1666192
Joven.Pobre extremo Joven Pobre extremo 0.2511099 0.0710981 0.2161179 0.2861020
Joven.Pobre no extremo Joven Pobre no extremo 0.2476177 0.0371818 0.2295726 0.2656628

DESAGREGACIÓN SEGUN DISCAPACIDAD

tabla6 <- svyby(~tasa_7, ~Juventud+discapacidad, encuesta, svymean, deff=F, na.rm=T)
ic6 <- confint(tabla6)
cv6<-cv(tabla6)
cv6<- as.data.frame(cv6)
tabla6 <- tabla6 %>% select(!contains("se"))
datos6<-bind_cols(tabla6, cv6, ic6)
names(datos6) <- c("Población Joven NINI","Discapacidad","%","Coef. Var","Int.Inf","Int.Sup")
kable(datos6, format = "markdown")
Población Joven NINI Discapacidad % Coef. Var Int.Inf Int.Sup
Joven.0 Joven 0 0.1737591 0.0206496 0.1667266 0.1807915
Joven.1 Joven 1 0.5468471 0.0554078 0.4874610 0.6062332

DESAGREGACIÓN SEGÚN ETNICIDAD

tabla7 <- svyby(~tasa_7, ~Juventud+defiet2, encuesta, svymean, deff=F, na.rm=T)
ic7 <- confint(tabla7)
cv7<-cv(tabla7)
cv7<- as.data.frame(cv7)
tabla7 <- tabla7 %>% select(!contains("se"))
datos7<-bind_cols(tabla7, cv7, ic7)
names(datos7) <- c("Población Joven NINI","Etnicidad","%","Coef. Var","Int.Inf","Int.Sup")
kable(datos7, format = "markdown")
Población Joven NINI Etnicidad % Coef. Var Int.Inf Int.Sup
Joven.Indigena Joven Indigena 0.1483605 0.0430744 0.1358353 0.1608857
Joven.Mestizo Joven Mestizo 0.1906217 0.0263765 0.1807672 0.2004763
Joven.Negro, mulato, Afro peruano Joven Negro, mulato, Afro peruano 0.1670839 0.0685163 0.1446463 0.1895215
Joven.No sabe/No responde Joven No sabe/No responde 0.2257292 0.0871017 0.1871936 0.2642649
Joven.otro Joven otro 0.1945869 0.0908547 0.1599364 0.2292374
Joven.Otro Joven Otro 0.2251526 0.0721597 0.1933091 0.2569960

DESAGREGACION SEGÚN LENGUA MATERNA

tabla8 <- svyby(~tasa_7, ~Juventud+lengua, encuesta, svymean, deff=F, na.rm=T)
ic8 <- confint(tabla8)
cv8<-cv(tabla8)
cv8<- as.data.frame(cv8)
tabla8 <- tabla8 %>% select(!contains("se"))
datos8<-bind_cols(tabla8, cv8, ic8)
names(datos8) <- c("Población Joven NINI","Etnicidad","%","Coef. Var","Int.Inf","Int.Sup")
kable(datos8, format = "markdown")
Población Joven NINI Etnicidad % Coef. Var Int.Inf Int.Sup
Joven.Castellano Joven Castellano 0.1832582 0.0213034 0.1756064 0.1909099
Joven.Originaria Joven Originaria 0.1598392 0.0650059 0.1394742 0.1802042
generar_archivo_excel2("DINDES-06-EMP-03-PNJ.xlsx", list(datos,datos1,datos2,datos3,datos4,datos5,datos6,datos7,datos8))

GUARDAR BD - opcional

#save(enaho,file=paste(ruta,"BASEDEDATOSIndicador1ENDES.RData",sep = "/")) 
#BORRAMOS TODO MENOS "RUTA" 
#rm(list=setdiff(ls(), c("ruta"))) 
#VOLVEMOS A CARGAR NUESTRA BD LIMPIA 
#load(paste(ruta,"BASEDEDATOSIndicador1ENDES.RData",sep="/"))