DESCRIPCIÓN DEL CALCULO

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:

  • QI1003AN: En los últimos 12 meses con qué frecuencia: su esposo se pone celoso
  • QI1003BN: En los últimos 12 meses con qué frecuencia: la acusa de ser infiel
  • QI1003CN: En los últimos 12 meses con qué frecuencia: le impide visitas de amistades
  • QI1003DN: En los últimos 12 meses con qué frecuencia: limita visitas/contacto Con familiare
  • QI1003EN: En los últimos 12 meses con qué frecuencia: insiste en saber a qué lugares va
  • QI1003FN: En los últimos 12 meses con qué frecuencia: desconfía de Ud. con el dinero
  • D103A: su esposo/compañero alguna vez le ha dicho o le ha hecho cosas para humillarla delante de los demás
  • D013B: su esposo/compañero la ha amenazado con hacerle daño a usted o a alguien cercano a usted
  • D103D: Su esposo/compañero la ha amenzado con irse de casa, quitarle a las hijas e hijos o la ayuda económica.

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

MODELADO DE BASE DATO

PAQUETES ESTADÍSTICOS

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

CARGAR BASES DE DATOS

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")

UNION DE BASES DE DATOS

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_inicial

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

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

ELABORACIÓN DE VARIABLES PARA INDICADORES

MUJERES UNIDAS

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

EDADES

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

MUJERES UNIDAS SEGÚN EDADES

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

VIOLENCIA PSICOLÓGICA

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

PONDERACIÓN DE DATOS, DATASETS Y TRASLADO A EXCEL

DISEÑO MUESTRAL Y FUNCION EXPORTAR A EXCEL

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

DESAGREGACIÓN NACIONAL

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)
datos0

DESAGREGACIÓN REGIONAL

tabla4 <- 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)
datos4

EXPORTACIÓN A EXCEL

generar_archivo_excel2("DINDES-12-DIPOV-02-PNJ.xlsx", list(datos0, datos4))