Usamos la misma estructura del indicador sobre violencia física y sexual (DINDES-12-DIPOV-02-PNJ).Usamos el modulo 1637 de la ENDES las siguientes variables que tienen por denominación:
SI BIEN LAS VARIABLES D103A, D103B Y D103D NO LLEVAN EL RÓTULO DE “12 ÚLTIMOS MESES” EN LA ENCUESTA APLICADA SE UTILIZA ESTE FRASEO PARA LA RECOLECCIÓN DEL DATO. LA VARIABLE D103C NO CUENTA CON OBSERVACIONES EN LA ENDES 2022
library(openxlsx)
library(rmarkdown)
library(tidyverse)
library(haven)
library(foreign)
library(survey) modulo1637 <- read_spss("C:\\Users\\Trabajo\\Desktop\\ENDES\\2022\\mort materna y violencia fam - 786-Modulo1637\\REC84DV.sav") #MORTALIDAD MATERNA Y VIOLENCIA FAM
modulo1637 <- subset(modulo1637, select=c("CASEID","QI1003AN","QI1003BN","QI1003CN","QI1003DN","QI1003EN","QI1003FN","D101A","D101B","D101C","D101D","D101E", "D101F","D103A","D103B","D103C","D103D","D105A","D105B","D105C","D105D","D105E","D105F","D105G","D105H","D105I"))
datosmef1 <- read_spss("C:\\Users\\Trabajo\\Desktop\\ENDES\\2022\\Datosmef - 786-Modulo1631\\REC0111.sav") #DATOS MEF MODULO 1631
datosmef2 <- read_spss("C:\\Users\\Trabajo\\Desktop\\ENDES\\2022\\Datosmef - 786-Modulo1631\\REC91.sav") #DATOS MEF MOD 1631
conyugue <- read_spss("C:\\Users\\Trabajo\\Desktop\\ENDES\\2022\\nupcialidad, fec, conyugue y mujer - 786-Modulo1635\\RE516171.sav") #MOD 1635 NUOCIAS, FECUNDIDAD, CONYUGUE Y MUJER
conyugue <- conyugue %>% arrange (CASEID)
salud <- read_spss("C:\\Users\\Trabajo\\Desktop\\ENDES\\2022\\Salud - 786- modulo1640\\CSALUD01.sav")endes_inicial <- left_join(datosmef1,modulo1637, by=c("CASEID"))
endes_inicial <- left_join(endes_inicial, datosmef2, by=c("CASEID"))
endes_inicial <- left_join(endes_inicial, conyugue, by=c("CASEID"))
endes_inicial <- left_join(endes_inicial, salud, by=c("HHID"))
endes <- endes_inicialHay 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
endes$ubigeonum <- as.numeric(endes$UBIGEO)
endes <- endes %>%
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(endes$regiones2, useNA = "alw")##
## Amazonas Ancash Apurimac Arequipa
## 1443 1353 1228 1385
## Ayacucho Cajamarca Callao Cusco
## 1554 1377 1562 1093
## Huancavelica Huanuco Ica Junin
## 1237 1457 1422 1238
## La Libertad Lambayeque Lima Metropolitana Lima Region
## 1377 1478 3683 1392
## Loreto Madre de Dios Moquegua Pasco
## 1696 1261 1278 1215
## Piura Puno San Martín Tacna
## 1535 1067 1470 1358
## Tumbes Ucayali <NA>
## 1402 1544 0
Es decir, mujeres que actualmente tienen pareja o lo tuvieron
endes <- endes %>%
mutate(unidas = ifelse(V502!=0 & V015==1,1,0))
table(endes$unidas, useNA = "alw")##
## 0 1 <NA>
## 12850 25255 0
endes <- endes %>% mutate(Edadcompleta = ifelse(V012>=15 & V012<=49,1,0))
table(endes$Edadcompleta, useNA = "alw")##
## 0 1 <NA>
## 3506 32281 2318
endes <- endes %>% mutate(jovenes = ifelse(V012>=15 & V012<=29,1,0))
table(endes$jovenes, useNA = "alw")##
## 0 1 <NA>
## 20518 15269 2318
endes <- endes %>% mutate(unidasjoven = ifelse(jovenes==1 & unidas==1,"muj unidas jovenes","otrasedades"))
table(endes$unidasjoven, useNA = "alw")##
## muj unidas jovenes otrasedades <NA>
## 9167 28938 0
endes <- endes %>% mutate(unidasedadcomp = ifelse(Edadcompleta==1 & unidas==1,"muj unidas edadcompleta","otrasedades"))
table(endes$unidasedadcomp, useNA = "alw")##
## muj unidas edadcompleta otrasedades <NA>
## 25243 12862 0
endes <- endes %>%
mutate(viopsi1 = case_when(QI1003AN == 0 ~ 0, QI1003AN %in% 1:2 ~ 1, TRUE ~ 0),
viopsi2 = case_when(QI1003BN == 0 ~ 0, QI1003BN %in% 1:2 ~ 1, TRUE ~ 0),
viopsi3 = case_when(QI1003CN == 0 ~ 0, QI1003CN %in% 1:2 ~ 1, TRUE ~ 0),
viopsi4 = case_when(QI1003DN == 0 ~ 0, QI1003DN %in% 1:2 ~ 1, TRUE ~ 0),
viopsi5 = case_when(QI1003EN == 0 ~ 0, QI1003EN %in% 1:2 ~ 1, TRUE ~ 0),
viopsi6 = case_when(QI1003FN == 0 ~ 0, QI1003FN %in% 1:2 ~ 1, TRUE ~ 0))
endes <- endes %>%
mutate(viopsi7 = case_when(D103A == 0 ~ 0, D103A %in% 1:2 ~ 1, TRUE ~ 0),
viopsi8 = case_when(D103B == 0 ~ 0, D103B %in% 1:2 ~ 1, TRUE ~ 0),
viopsi9 = case_when(D103D == 0 ~ 0, D103D %in% 1:2 ~ 1, TRUE ~ 0))
endes <- endes %>%
mutate(VIOL_psi10 = ifelse(viopsi1 == 0 & viopsi2 == 0 & viopsi3 == 0 & viopsi4 == 0 & viopsi5 == 0 & viopsi6 == 0 & viopsi7 == 0 & viopsi8 == 0 & viopsi9 == 0, 0, 1))
table(endes$VIOL_psi10, useNA = "alw")##
## 0 1 <NA>
## 30672 7433 0
# Diseño muestral
encuesta = svydesign(data=endes, id=~V001, strata=NULL,
weights=~V005)
# 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)
}tabla0 <- svyby(~VIOL_psi10, ~unidasjoven, encuesta, svymean, deff=F, na.rm=T)
ic0 <- confint(tabla0)
cv0 <- matrix(cv(tabla0), nrow = length(cv(tabla0)), ncol = 1, dimnames = list(names(cv(tabla0)), "Coef. Var."))
datos0<-bind_cols(tabla0, cv0, ic0)
datos0tabla4 <- svyby(~VIOL_psi10, ~unidasjoven+regiones2, encuesta, svymean, deff=F, na.rm=T)
ic4 <- confint(tabla4)
cv4 <- matrix(cv(tabla4), nrow = length(cv(tabla4)), ncol = 1, dimnames = list(names(cv(tabla4)), "Coef. Var."))
datos4<-bind_cols(tabla4, cv4, ic4)
datos4generar_archivo_excel2("DINDES-12-DIPOV-02-PNJ.xlsx", list(datos0, datos4))