1.3 Estimación directa del indicador

Para realizar la estimación directa para cada dominio de la variable dam2 en el objeto de diseño diseno se emplea el siguiente código. Primero, el objeto de diseño se agrupa por la variable dam2 utilizando la función group_by_at(). Luego, se filtran las observaciones para incluir solo aquellas en las que la variable empleo es igual a 1, 2 o 3 (es decir, ocupado, desocupado o inactivo, respectivamente) utilizando la función filter().

A continuación, se utilizan las funciones sum() y unweighted para calcular el número de observaciones en cada nivel de la variable empleo. Luego, se utilizan las funciones survey_mean() para calcular la media del indicador de empleo en cada nivel de la variable empleo (es decir, la proporción de personas ocupadas, desocupadas e inactivas). Los argumentos vartype = c("se", "var") y deff = T se utilizan para estimar el error estándar y la varianza de la media; el efecto del diseño, respectivamente.

indicador_dam <-
  diseno %>% group_by_at("dam2") %>% 
  filter(empleo %in% c(1:3)) %>%
  summarise(
    n_ocupado = unweighted(sum(empleo == 1)),
    n_desocupado = unweighted(sum(empleo == 2)),
    n_inactivo = unweighted(sum(empleo == 3)),
    Ocupado = survey_mean(empleo == 1,
      vartype = c("se",  "var"),
      deff = T
    ),
    Desocupado = survey_mean(empleo == 2,
                          vartype = c("se",  "var"),
                          deff = T
    ),
    Inactivo = survey_mean(empleo == 3,
                          vartype = c("se",  "var"),
                          deff = T
    )
  )

Ahora, se realiza el conteo de las PSU por dominios y se incorpora la información a la base que resulta del paso anterior.

indicador_dam <- encuesta %>% dplyr::select(dam2, upm) %>%
  distinct() %>% 
  group_by(dam2) %>% 
  tally(name = "n_upm") %>% 
  inner_join(indicador_dam, by = "dam2")
indicador_dam <- readRDS("01 Modelo de area/CHL/2017/Data/indicador_dam.Rds")
indicador_dam %>% select(dam2,n_upm,Ocupado,Desocupado,Inactivo) %>% 
  head(10) %>% 
  tba(cap = "Estimación directa")
Tabla 1.3: Estimación directa
dam2 n_upm Ocupado Desocupado Inactivo
01101 39 0.5975 0.0478 0.3547
01107 16 0.5619 0.0539 0.3842
01401 2 0.5369 0.0499 0.4133
01402 1 0.7529 0.0000 0.2471
01404 2 0.5772 0.0095 0.4132
01405 2 0.5630 0.0188 0.4182
02101 32 0.5448 0.0557 0.3995
02102 1 0.6002 0.0680 0.3319
02103 1 0.6766 0.0838 0.2397
02104 2 0.5391 0.0576 0.4034

Guardar los archivos resultantes

saveRDS(indicador_dam,'01 Modelo de area/CHL/2017/Data/indicador_dam.Rds' )
knitr::opts_chunk$set(warning = FALSE, 
                      message = FALSE,
                      cache = TRUE)
library(kableExtra)
tba <- function(dat, cap = NA){
  kable(dat,
      format = "html", digits =  4,
      caption = cap) %>% 
     kable_styling(bootstrap_options = "striped", full_width = F)%>%
         kable_classic(full_width = F, html_font = "Arial Narrow")
}