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”.
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
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.
<- "C:/Users/Trabajo/Desktop/RDATA" ruta
choose.files()
## character(0)
<- read_dta("C:\\Users\\Trabajo\\Desktop\\DIR STATA\\EMPLEO\\2020\\empleo2022NINI.dta")
empleo2022 <- read_dta("C:\\Users\\Trabajo\\Desktop\\ENAHO\\EDUACIÓN - 759-Modulo03\\enaho01a-2022-300.dta")
educacion2022 <- read_dta("C:\\Users\\Trabajo\\Desktop\\ENAHO\\SUMARIA - 759-Modulo34\\sumaria-2022.dta")
sumaria2022 <- read_dta("C:\\Users\\Trabajo\\Desktop\\ENAHO\\SALUD - 759-Modulo04\\enaho01a-2022-400.dta")
salud2022
<- subset(educacion2022, select = c(codperso,conglome,vivienda,hogar,p300a))
educacion2022 <- subset(salud2022, select = c(codperso,conglome,vivienda,hogar,p401h1,p401h2,p401h3,p401h4,p401h5,p401h6))
salud2022 <- subset(sumaria2022, select = c(conglome,vivienda,hogar,pobreza))
sumaria2022
#UNIMOS BDS
<- left_join(empleo2022, educacion2022, by=c("codperso","conglome", "vivienda", "hogar"))
enaho0 <- left_join(enaho0, salud2022, by=c("codperso","conglome", "vivienda", "hogar"))
enaho1 <- left_join(enaho1,sumaria2022, by =c("conglome","vivienda","hogar")) enaho
<- enaho %>% mutate(Sexo = ifelse(p207==1,"hombre",ifelse(p207==2,"Mujer",NA))) enaho
$ubigeonum <- as.numeric(enaho$ubigeo)
enaho<- 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
<- 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
<- enaho %>%
enaho mutate(area = ifelse((dominio==8 |
>=1 & dominio<=7) &
(dominio>=1 & estrato<=5)), "Urbano",
(estratoifelse(((dominio>=1 & dominio<=7) &
>=6 & estrato<=8)), "Rural", NA)))
(estratotable(enaho$area, useNA = "alw")
##
## Rural Urbano <NA>
## 28845 58816 22596
<- 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
<- enaho %>%
enaho mutate(lengua = ifelse(p300a==4, "Castellano",
ifelse(p300a==1 | p300a==2 | p300a==3, "Originaria", NA)))
$lengua <- as.factor(enaho$lengua)
enahotable(enaho$lengua, useNA = "alw")
##
## Castellano Originaria <NA>
## 88959 19163 2135
<- enaho %>%
enaho mutate(discapacidad =ifelse(p401h1==1|p401h2==1|p401h3==1|
==1|p401h5==1|p401h6==1,1,0))
p401h4table(enaho$discapacidad, useNA = "alw")
##
## 0 1 <NA>
## 104479 5691 87
<- enaho %>%
enaho mutate(defiet2 = case_when(
== 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",
p558c TRUE ~ NA_character_
))$defiet2 <- as.factor(enaho$defiet2)
enahotable(enaho$defiet2, useNA = "alw")
##
## Indigena Mestizo
## 26043 44600
## Negro, mulato, Afro peruano No sabe/No responde
## 6047 3517
## otro Otro
## 3626 3701
## <NA>
## 22723
LA VARIABLE NINIS YA HA SIDO CALCULADA USANDO STATA.VER DO FILE COMPARTIDO EN LA CARPETA ONLINE. (variable: tasa_7) ### VARIABLE RESIDENTE
$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"))
enaholevels(enaho$res) <- c("No residente", "Residente")
table(enaho$res)
##
## No residente Residente
## 63059 24602
<- enaho %>%
enaho mutate(Juventud = ifelse(p208a >= 15 & p208a <= 29,"Joven",NA))
$Juventud <- as.factor(enaho$Juventud)
enaho
<- enaho %>%
enaho mutate(POBTOTAL = ifelse(p208a >= 15,"POB TOTAL","NA"))
$POBTOTAL <- as.factor(enaho$POBTOTAL) enaho
# Diseño muestral para la ponderación de valores
<- subset(enaho, !is.na(fac500a))
enaho_limpio = svydesign(data=enaho_limpio, id=~conglome, strata=~estrato,
encuesta weights=~fac500a, na.rm = TRUE)
# Función para generar un archivo excel con todas las desagregaciones en pestañas
<- function(nombre_archivo, datos) {
generar_archivo_excel2 <- createWorkbook()
workbook
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)
}
<- svyby(~tasa_7, ~Juventud, encuesta, svymean, deff=F, na.rm=T)
tabla <- confint(tabla)
ic <-cv(tabla)
cv<- tabla %>% select(!contains("se"))
tabla <-bind_cols(tabla, cv, ic) datos
## 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 |
1:Hombre 2:Mujer
<- svyby(~tasa_7, ~Juventud+p207, encuesta, svymean, deff=F, na.rm=T)
tabla1 <- confint(tabla1)
ic1 <-cv(tabla1)
cv1<- as.data.frame(cv1)
cv1<- tabla1 %>% select(!contains("se"))
tabla1 <-bind_cols(tabla1, cv1, ic1)
datos1 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 |
<- svyby(~tasa_7, ~Juventud+area, encuesta, svymean, deff=F, na.rm=T)
tabla2 <- confint(tabla2)
ic2 <-cv(tabla2)
cv2<- as.data.frame(cv2)
cv2<- tabla2 %>% select(!contains("se"))
tabla2 <-bind_cols(tabla2, cv2, ic2)
datos2names(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 |
<- svyby(~tasa_7, ~Juventud+regnat, encuesta, svymean, deff=F, na.rm=T)
tabla3 <- confint(tabla3)
ic3 <-cv(tabla3)
cv3<- as.data.frame(cv3)
cv3<- tabla3 %>% select(!contains("se"))
tabla3 <-bind_cols(tabla3, cv3, ic3)
datos3names(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 |
<- svyby(~tasa_7, ~Juventud+regiones2, encuesta, svymean, deff=F, na.rm=T)
tabla4 <- confint(tabla4)
ic4 <-cv(tabla4)
cv4<- as.data.frame(cv4)
cv4<- tabla4 %>% select(!contains("se"))
tabla4 <-bind_cols(tabla4, cv4, ic4)
datos4names(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 |
<- svyby(~tasa_7, ~Juventud+pobreza3, encuesta, svymean, deff=F, na.rm=T)
tabla5 <- confint(tabla5)
ic5 <-cv(tabla5)
cv5<- as.data.frame(cv5)
cv5<- tabla5 %>% select(!contains("se"))
tabla5 <-bind_cols(tabla5, cv5, ic5)
datos5names(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 |
<- svyby(~tasa_7, ~Juventud+discapacidad, encuesta, svymean, deff=F, na.rm=T)
tabla6 <- confint(tabla6)
ic6 <-cv(tabla6)
cv6<- as.data.frame(cv6)
cv6<- tabla6 %>% select(!contains("se"))
tabla6 <-bind_cols(tabla6, cv6, ic6)
datos6names(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 |
<- svyby(~tasa_7, ~Juventud+defiet2, encuesta, svymean, deff=F, na.rm=T)
tabla7 <- confint(tabla7)
ic7 <-cv(tabla7)
cv7<- as.data.frame(cv7)
cv7<- tabla7 %>% select(!contains("se"))
tabla7 <-bind_cols(tabla7, cv7, ic7)
datos7names(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 |
<- svyby(~tasa_7, ~Juventud+lengua, encuesta, svymean, deff=F, na.rm=T)
tabla8 <- confint(tabla8)
ic8 <-cv(tabla8)
cv8<- as.data.frame(cv8)
cv8<- tabla8 %>% select(!contains("se"))
tabla8 <-bind_cols(tabla8, cv8, ic8)
datos8names(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))
#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="/"))