6.3 Estimación agregada
Esta parte de código toma el objeto estimaciones y lo resume por el campo dam. Para cada comuna, se calcula la suma ponderada de las variables Ocupado_mod, Desocupado_mod e Inactivo_mod (estimaciones del modelo) y de las variables Ocupado_Bench, Desocupado_Bench e Inactivo_Bench (estimaciones de la encuesta benchmark). Esto resulta en una tabla con seis columnas: dam, Ocupado_mod, Desocupado_mod, Inactivo_mod, Ocupado_Bench, Desocupado_Bench y Inactivo_Bench.
estimaciones_agregada <- estimaciones %>%
group_by(dam) %>%
summarise(
Ocupado_mod = sum(wi*Ocupado_mod),
Desocupado_mod = sum(wi*Desocupado_mod),
Inactivo_mod = sum(wi*Inactivo_mod),
Ocupado_Bench = sum(wi*Ocupado_Bench),
Desocupado_Bench = sum(wi*Desocupado_Bench),
Inactivo_Bench = sum(wi*Inactivo_Bench))6.3.1 Creación de objeto diseno
Este código comienza definiendo las longitudes máximas de los campos _upm y _estrato en la tabla encuesta, y luego utiliza la función transmute() del paquete dplyr para crear una nueva tabla encuesta que contiene las columnas dam, nombre_dam, upm, estrato, fep y empleo.
Para la columna dam, se utiliza la variable dam_ee para asignar un valor alfanumérico de dos dígitos para cada región y dominio (comuna). La función as_factor() convierte la variable a factor, con los valores y etiquetas correspondientes. La función str_pad() es utilizada para agregar ceros a la izquierda a la cadena de caracteres si la longitud de la cadena es menor que width.
Para las columnas upm y estrato, la función str_pad() es utilizada para agregar ceros a la izquierda a la cadena de caracteres si la longitud de la cadena es menor que width.
Las columnas fep y empleo simplemente se asignan a la tabla encuesta desde las columnas correspondientes de la tabla original.
Después, se establece la opción survey.lonely.psu como adjust, lo que indica al paquete survey cómo tratar unidades de muestreo solitarias. A continuación, se utiliza la función as_survey_design() para crear un objeto de diseño de encuesta que puede ser utilizado para realizar análisis con el paquete survey.
Se especifica que la variable estrato se utiliza como estrato y que upm se utiliza como identificador de unidad primaria de muestreo. Además, se incluye la variable fep como peso de diseño de muestreo. Se utiliza la opción nest=T para especificar que se desea crear un diseño anidado, lo que significa que cada unidad primaria de muestreo puede tener varias unidades secundarias de muestreo.
length_upm <- max(nchar(encuesta[["_upm"]]))
length_estrato <- max(nchar(encuesta[["_estrato"]]))
encuesta <-
encuesta %>%
transmute(
dam = as_factor(dam_ee,levels = "values"),
dam = str_pad(string =dam, width = 2, pad = "0"),
nombre_dam = as_factor(dam_ee,levels = "labels"),
upm = str_pad(string = `_upm`, width = length_upm, pad = "0"),
estrato = str_pad(string = `_estrato`, width = length_estrato , pad = "0"),
fep = `_fep`,
empleo = condact3
)
options(survey.lonely.psu= 'adjust' )
diseno <- encuesta %>%
as_survey_design(
strata = estrato,
ids = upm,
weights = fep,
nest=T
)6.3.2 Estimación del indicador
El código proporciona un indicador agregado para los tres categorias de la variable empleo en cada región. Primero, se agrupa diseno por región (dam) y se filtran solo los casos con empleo entre 1 y 3. Luego, se utilizan las funciones survey_ratio() del paquete survey para calcular la proporción de personas en cada categoría de empleo ( Ocupado, Desocupado e Inactivo) en cada región. Por último, se seleccionan las columnas de dam, Ocupado, Desocupado e Inactivo para crear un marco de datos que incluya el indicador agregado.
indicador_agregado <-
diseno %>% group_by_at("dam") %>%
filter(empleo %in% c(1:3)) %>%
summarise(
nd = unweighted(n()),
Ocupado = survey_ratio(numerator = (empleo == 1),
denominator = 1,vartype = c("ci"), level = 0.95 ),
Desocupado = survey_ratio(numerator =( empleo == 2),denominator = 1,
vartype = c("ci"), level = 0.95
),
Inactivo = survey_ratio(numerator = (empleo == 3), denominator = 1,
vartype = c("ci"), level = 0.95
)
)
data_plot <- left_join(estimaciones_agregada, indicador_agregado)