Aller au contenu principal
Available in Español

Manejo básico de Redatam usando R para la estimación de estadísticas desagregadas

22 Novembre 2021|Insights

La estimación en áreas pequeñas (SAE, por sus siglas en inglés) es un conjunto de técnicas estadísticas que permiten obtener estimaciones desagregadas de parámetros poblacionales y que buscan mejorar la calidad de la inferencia de las encuestas de hogares que no alcanza los criterios de calidad adecuados para su publicación y para rescatar información sobre aquellos subgrupos que no están bien representados en la encuesta. En este documento se presenta la integración de dos herramientas computacionales que permiten realizar este tipo de modelos en un solo ambiente computacional. Por un lado Redatam con un motor de procesamiento especializado en el manejo de grandes volúmenes de datos censales, y por otro R, software caracterizado por su versatilidad en el ajuste de modelos estadísticos complejos.

Introducción

Las encuestas de hogares permiten monitorear continuamente los indicadores a lo largo del tiempo para que los gobiernos puedan adoptar políticas públicas que se centren primero en los más vulnerables. Sin embargo, la precisión de las estimaciones de las encuestas de hogares disminuye cuando se trata de hacer inferencias en subgrupos para los cuales no se diseñó la encuesta. Por otro lado, los censos permiten tener tantas desagregaciones como se quiera, pero el reducido tamaño de sus cuestionarios y el largo periodo de más de diez años entre dos realizaciones consecutivas, hacen que se pierda la posibilidad de generar estadísticas oportunas. Sin embargo, utilizar estas dos fuentes de información mediante su integración sistemática brinda la posibilidad de producir estimaciones desagregadas que permitan la toma oportuna de decisiones de política pública y monitoreo con una precisión estadística adecuada.

El énfasis en la Agenda 2030 para el Desarrollo Sostenible en no dejar a nadie atrás (mediante el mandato left no one behind) y alcanzar a los más vulnerables primero presenta a la comunidad estadística muchos desafíos y oportunidades. La desagregación de datos es esencial para comprender si los frutos del desarrollo están beneficiando a todo el espectro de la sociedad, incluidos los más vulnerables y los más atrasados. Actualmente, producir datos desglosados ​​por diversas características de la población y por diferentes niveles de geografía representa un desafío para los sistemas estadísticos nacionales, incluidos los de los países desarrollados. Nuevas y mejores metodologías estadísticas, técnicas innovadoras y el mayor uso de datos administrativos se encuentran entre las iniciativas esenciales necesarias para responder a los enormes desafíos que presenta la necesidad de datos más detallados. Asimismo, la Agenda 2030 brinda oportunidades para mejorar y optimizar la capacidad estadística de los países para producir información relevante, actualizada y detallada sobre la población.

En este documento se describe de forma detallada cómo la integración de dos soluciones computacionales permite contar con los insumos necesarios para la generación de este tipo de modelos. Por una parte, Redatam, software especializado en el manejo de la información censal; y por la otra, R, software que cuenta con ambientes computacionales pertinentes en la generación de estadísticas que vienen de diseños de muestreo complejos como los que se tienen en las encuestas de hogares.

Después de una breve introducción, este documento presenta un breve acercamiento a las etapas que se requieren en la planeación de un sistema de estimación desagregada basado en metodologías de estimación de áreas pequeñas. La primera etapa de esta planeación puede ser solventada con el uso de la librería redatam de R, la cual es presentada en la tercera sección del documento, junto con algunos ejemplos de procesamientos de tablas de frecuencias y conteos para un caso en particular. Finalmente, la cuarta sección presenta el cálculo de variables agregadas derivadas para la creación de covariables en un modelo de estimación SAE.

Procedimiento de estimación desagregada

Las técnicas de estimación en áreas pequeñas (Rao & Molina, 2015) permiten condensar en un solo mapa cientos de estimaciones de ciudades, municipios, comunas, provincias y departamentos. Por ejemplo, la presentación de las estimaciones de pobreza a nivel geográfico no sólo surge como una eficaz herramienta de comunicación, sino que además amplia el espectro de la audiencia objetivo en la medida en que los mapas facilitan la interpretación de las relaciones espaciales. Estos nuevos instrumentos para la toma de decisiones de política pública pueden permitir una mejor comprensión de la pobreza en los países de América Latina y el Caribe para establecer zonas de atención prioritaria, focalización geográfica del gasto público, mejora de las coberturas de programas sociales, entre otras medidas de superación de la pobreza.

El proceso de elaboración de mapas de pobreza a nivel subnacional está adquiriendo un creciente interés en las distintas oficinas de estadística y demás actores de los sistemas estadísticos nacionales, puesto que constituyen herramientas apropiadas para que los gobiernos y las organizaciones internacionales puedan diseñar, aplicar y monitorear de manera más efectiva las políticas de desarrollo regional, dirigiéndolas a los lugares o subgrupos de población en donde realmente se necesitan con mayor urgencia.

En general, las metodologías de estimación desagregada basadas en métodos de estimación en áreas pequeñas necesitan el enlace de información auxiliar - que puede provenir de un censo – con una encuesta de hogares para realizar estimaciones a nivel provincial, comunal o municipal, las cuales son, en la mayoría de los casos, desagregaciones geográficas para la cuales las estimaciones directas que provienen de las encuestas de hogares pierden demasiada precisión (Gutiérrez, 2016).

En términos generales, las etapas generales en un proceso de estimación de la pobreza a nivel desagregado y posterior proceso de generación de los mapas de pobreza son las siguientes:

  • Etapa 1: estandarización y homologación de las bases de datos censales y muestrales. Posterior estimación de indicadores muestrales relacionados con desigualdad, ingresos y pobreza.
  • Etapa 2: estimación del modelo SAE para los indicadores relacionados con ingresos, desigualdad, o pobreza y definición de las interacciones y selección de variables auxiliares.
  • Etapa 3: simulación por Bootstrap paramétrico para la estimación del error cuadrático medio (ECM).
  • Etapa 4: validación de los supuestos del modelo y benchmarking con las publicaciones oficiales (sobre ingreso y pobreza)
  • Etapa 5: generación de mapas con la estimación del indicador de ingresos, desigualdad, o pobreza y del cartograma con su respectivo ECM estimado.

En la primera etapa del procedimiento se hace necesario aclarar que los modelos SAE se obtienen desde los datos de las encuestas para posteriormente utilizar estas relaciones con las estructuras censales respectivas y, por tal motivo, se hace necesario realizar una homologación entre las encuestas y los censos con el fin de obtener bases de datos conciliadas cuyas covariables se encuentren estandarizadas. De esta forma, se descartan posibles sesgos inducidos por las diferentes mediciones en las covariables o errores en la predicción debido a variables con nombres similares, pero definidas con distintas categorías.

Al homologar las bases de datos se deben generar estructuras preestablecidas y estandarizadas; además de un glosario de variables que defina claramente los formatos y las especificaciones necesarias para cada tipo de variable registrada en las bases de datos. Por ejemplo, la variable “años de estudio” es homologada utilizando los procesos de estandarización del banco de encuestas de hogares BADEHOG de CEPAL. Por tal razón, requiere de la misma modificación según el censo del país para establecer un mismo tipo de estructura. De la misma manera, las variables encontradas en el repositorio de censos de CELADE tienen una estandarización apropiada y adecuada que ayuda a hacer más expeditos estos procesos de conciliación.

En la primera etapa se hace necesario que el manejo de los datos censales se realice de forma óptima y expedita. En general, obtener tabulados censales utilizando R es posible, aunque la velocidad de procesamiento decrece a medida que el número de observaciones crece. Sin embargo, Redatam está precisamente pensado para solventar este tipo de problemas; puesto que su velocidad de procesamiento con grandes volúmenes de información es óptima. Por tanto, es una buena idea integrar ambas soluciones computacionales en un solo ambiente de programación.  Las restantes etapas se llevarán a cabo utilizando únicamente el software estadístico R, que permite ejecutar modelos estadísticos complejos de estimación y predicción (Molina, 2018).

La librería redatam en R

En su versión 1.0.1, la librería redatam de R (Salvador, 2020) del software estadístico R permite realizar consultas para la creación de tablas de frecuencia censales utilizando el potente motor de procesamiento de Redatam. En general, con esta librería es posible obtener lo mejor de los dos mundos en una sola plataforma: la velocidad de procesamiento de Redatam y el poder computacional de R para ajustar modelos estadísticos complejos.

Para ejemplificar el uso de esta librería y cómo se convierte en una solución plausible en la primera etapa del desarrollo de un sistema de estimaciones desagregadas, se utilizará el conjunto de datos correspondiente al Undécimo Censo Nacional de Población y Séptimo de Vivienda del 2010 de Panamá, ejecutado por el Instituto Nacional de Estadística y Censo (INEC), de la Contraloría General de la República de Panamá. Este conjunto de microdatos contiene la información censal en diferentes archivos de entidades y está disponible en el formato Redatam. En primer lugar es necesario cargar las librerías necesarias en R para realizar la lectura, uso y manejo de datos en formato Redatam en el software R.

library(Rcpp)
library(RcppProgress)
library(redatam)
library(dplyr)
library(tidyverse)
library(magrittr)

Para leer el conjunto de datos, se utiliza la función redatam.open, la cual depende del diccionario censal, el cual es un archivo con extensión *.dicX y que se encuentra en la carpeta correspondiente. De esta forma, se crea un objeto dentro de R que relaciona el diccionario con los microdatos de la base de datos censal.

PAN <- redatam.open(".../.../PAN2010.dicx")

A su vez, la función redatam.entities permite verificar las entidades contenidas en la información censal. Estas entidades poseen la información correspondiente a la jerarquía de indexación propia de Redatam. Por ejemplo, para el censo de Panamá, es posible encontrar las entidades asociadas a las provincias, distritos, corregimientos, lugares poblados, barriadas, segmentos, viviendas, hogares y personas.

redatam.entities(PAN)
##  [1] "PAN2010"  "PROVIN"   "DISTRITO" "CORREG"   "LUGPOB"   "BARRIADA"
##  [7] "SEGMENTO" "VIVIENDA" "HOGAR"    "PERSONA"

Como es claro para los usuarios habituales de Redatam, a cada entidad en la jerarquía del censo le corresponden algunas variables en la base de datos. Las variables censales de cada entidad pueden ser verificadas mediante la función redatam.variables. En el caso de las provincias, existen dos variables asociadas a esta entidad, mientras que en el caso de las personas, existen 71 variables asociadas.

redatam.variables(PAN, "PROVIN")
## [1] "PROV"     "PROVNOMB"
redatam.variables(PAN, "PERSONA")
##  [1] "NPERSONA"  "P01RELA"   "P01RELAO"  "P011NUCL"  "P02SEXO"   "P03EDAD" 
##  [7] "P04SEGSOC" "P05ESTC"   "P06AOIR"   "P06BVER"   "P06CCAMI"  "P06DUSARB"
## [13] "P06EHABL"  "P06FAPREN" "P07DISCA"  "P07DISCO"  "P08INDIG"  "P08INDIO"
## [19] "P09AFROD"  "P09AFROO"  "P10NACI"   "P10APERI"  "P11VIVE"   "P12VIVIA"
## [25] "P12APERI"  "P13ESCU"   "P14GRADO"  "P15SLYE"   "P16TITUC"  "P17TRAB" 
## [31] "P18TRAUS"  "P19ALGT"   "P20BSEM"   "P21BMES"   "P22MOTI"   "P22MOTIO"
## [37] "P23OCUPC"  "P25ACTIC"  "P26TRAB"   "P27EMPL"   "P28ASUEL"  "P28BXIIIM"
## [43] "P28CINDE"  "P28DJUBI"  "P28EPENS"  "P28F1PENS" "P28F2DINE" "P28F3OTRA"
## [49] "P28F3OTRD" "P28GALQU"  "P28HBECA"  "P28IAGRO"  "P28JOTRIN" "P28AINGR"
## [55] "P29HIJOS"  "P30VIVOS"  "P31HU12M"  "P32VU12M"  "INGRPER"   "RP14GRADO"
## [61] "RP17TRAB"  "RP23OCUP"  "RP25ACTI"  "RP26TRAB"  "RPROVDIST" "RP10NACI"
## [67] "RP11VIVE"  "RP12VIVIA" "AAPROB"    "RINGRPER"  "EDADQUIN"

Es necesario tener un conocimiento adecuado de las variables existentes en las jerarquías de la base de datos. De esta forma, es posible utilizar la función redatam.query, la cual  permite realizar tabulados de la información censal disponible en cada entidad. Para ello, utilizando la programación básica de Redatam se llama a cada variable anteponiendo el nombre de la entidad. Dicha función genera de forma automática un objeto en el ambiente computacional de R.

Nótese que, al utilizar esta función se mezclan dos tipos de lenguajes de programación: por una parte, el de R y por otra el de Redatam. En su última versión, la función en cuestión tiene dos argumentos principales. El primero, que hace referencia al objeto que relacionó el diccionario con la base de datos desde R, y el segundo, que contiene la sintaxis del procesamiento en Redatam. Se da por sentado que el usuario conoce la programación de este software y sabe que la sintaxis proporciona resultados válidos. Este segundo argumento debe ir entre comillas dobles. Por ejemplo, la siguiente sintaxis crea un objeto llamado Tabla1, el cual proporciona el conteo del número de personas por sexo, con la variable PERSONA.P02SEXO y provincia, con la variable PROVIN.PROVNOMB.

Tabla1 <- redatam.query(PAN,
                        "
                        freq PROVIN.PROVNOMB
                        by PERSONA.P02SEXO              
                        "
                        )

El resultado de la función anterior es un arreglo de datos estructurado en forma rectangular. En la primera columna se encuentra el identificador de la provincia PROVNOMB1_value, en la segunda columna se encuentra la etiqueta asociada a las provincias PROVNOMB1_label. Asimismo, en la tercera y cuarta columna se encuentra el identificador de la variable sexo y sus correspondientes etiquetas, P02SEXO2_value P02SEXO2_label. Finalmente, en la última columna se muestra el conteo censal en cada uno de los cruces que se generan entre estas dos variables (provincia y sexo). El nombre de esta columna de conteos es value. A continuación se reproducen los seis primeros resultados de esta consulta.  

head(Tabla1)
##   PROVNOMB1_value PROVNOMB1_label P02SEXO2_value P02SEXO2_label  value
## 1        BOCAS DEL TORO  BOCAS DEL TORO           1          Hombre     65043
## 2        BOCAS DEL TORO  BOCAS DEL TORO           2          Mujer        60418
## 3        CHIRIQUÍ        CHIRIQUÍ                                    1          Hombre     211618
## 4        CHIRIQUÍ        CHIRIQUÍ                                    2          Mujer        205255
## 5        COCLÉ             COCLÉ                                         1          Hombre     119417
## 6        COCLÉ             COCLÉ                                         2          Mujer        114291

Para esta sálida es necesario notar la presencia del sufijo _value, que corresponde al valor alfanumérico con el cual se codificó la variable en la base censal, y la del sufijo _label, que corresponde al nombre de la etiqueta asociado a dicho valor.

Por otro lado, con la sentencia by es posible generar una tabla con mayor cantidad de desagregaciones. Por ejemplo, la siguiente tabla muestra el número de individuos por provincia PROVIN.PROVNOMB, según edad quinquenal PERSONA.EDADQUIN para cada categoría de trabajo PERSONA.RP17TRAB.

Tabla2 <- redatam.query(PAN,
                        "
                        freq PROVIN.PROVNOMB  
                        by PERSONA.EDADQUIN
                        by PERSONA.RP17TRAB
                        "
                        )

A continuación se muestran los seis primeros resultados de esta consulta. Como se puede observar la estructura sigue la misma estandarización, sin importar cuántas variables se agreguen a los conteos censales.

head(Tabla2)
##   PROVNOMB1_value PROVNOMB1_label EDADQUIN2_value EDADQUIN2_label
## 1  BOCAS DEL TORO  BOCAS DEL TORO               2           10-14
## 2  BOCAS DEL TORO  BOCAS DEL TORO               2           10-14
## 3  BOCAS DEL TORO  BOCAS DEL TORO               2           10-14
## 4  BOCAS DEL TORO  BOCAS DEL TORO               2           10-14
## 5  BOCAS DEL TORO  BOCAS DEL TORO               2           10-14
## 6  BOCAS DEL TORO  BOCAS DEL TORO               2           10-14
##   RP17TRAB3_value                                         RP17TRAB3_label value
## 1            1110              Ocupado, trabajó la semana de referencia   198
## 2            1211              Desocupado, trabajó antes, buscó trabajo     7
## 3            1212              Desocupado, trabajó antes, espera noticias    4
## 4            1213              Desocupado, trabajó antes, se cansó de buscar trabajo     1
## 5            1214              Desocupado, trabajó antes, ya consiguió trabajo     1
## 6            1221              Desocupado, nunca trabajó, buscó trabajo     1

Los nombres de las columnas y los valores que contienen se pueden rescatar con los comandos names y unique en el ambiente de R.

names(Tabla2)
## [1] "PROVNOMB1_value" "PROVNOMB1_label" "EDADQUIN2_value" "EDADQUIN2_label"
## [5] "RP17TRAB3_value" "RP17TRAB3_label" "value"
unique(Tabla2$EDADQUIN2_label)
##  [1] "10-14"     "15-19"     "20-24"     "25-29"     "30-34"     "35-39"   
##  [7] "40-44"     "45-49"     "50-54"     "55-59"     "60-64"     "65-69"   
## [13] "70-74"     "75-79"     "80-84"     "85-89"     "90-94"     "95-98"   
## [19] "99 y más"

Como se puede apreciar en la anterior salida y en la verificación que se realiza, no existen conteos para la categoría de edad quinquenal entre 0 y 9 años; esto se debe a que, para aquel rango de edad, la pregunta de trabajo se omite por lo que el conteo se realiza solo sobre los casos válidos. Por esta razón, para hacer un conteo sobre casos no válidos (NA) se debe añadir la opción tot.omit = FALSE y además realizar un filtro para unificar la estructura de la tabla. En la siguiente sintaxis se muestra el poder de la librería al mezclar tres ambientes diferentes: el lenguaje nativo de R, la sintaxis de Redatam y los filtros de tidyverse (Wickham et al., 2019) para manejo de tablas y bases de datos.

Tabla3 <- redatam.query(PAN,
                        "
                        freq PROVIN.PROVNOMB
                        by PERSONA.EDADQUIN
                        by RP17TRAB
                        ",
                        tot.omit = FALSE) %>%
  filter(PROVNOMB1_label !=  "__tot__",
         EDADQUIN2_label !=  "__tot__",
         RP17TRAB3_label !=  "__tot__")

A continuación se muestran los primeros seis registros de esta consulta.

head(Tabla3)
##   PROVNOMB1_value PROVNOMB1_label PROVNOMB1_mask EDADQUIN2_value
## 1  BOCAS DEL TORO  BOCAS DEL TORO              0               0
## 2  BOCAS DEL TORO  BOCAS DEL TORO              0               1
## 3  BOCAS DEL TORO  BOCAS DEL TORO              0               2
## 4  BOCAS DEL TORO  BOCAS DEL TORO              0               2
## 5  BOCAS DEL TORO  BOCAS DEL TORO              0               2
## 6  BOCAS DEL TORO  BOCAS DEL TORO              0               2
##   EDADQUIN2_label EDADQUIN2_mask RP17TRAB3_value
## 1             0-4                0              NA
## 2             5-9                0              NA
## 3           10-14              0              NA
## 4           10-14              0            1110
## 5           10-14              0            1211
## 6           10-14              0            1212
##                               RP17TRAB3_label RP17TRAB3_mask value
## 1                                      __na__              2 17884
## 2                                      __na__              2 17673
## 3                                      __na__              2    10
## 4   Ocupado, trabajó la semana de referencia               0   198
## 5  Desocupado, trabajó antes, buscó trabajo                 0     7
## 6 Desocupado, trabajó antes, espera noticias                0     4

Como se aprecia en la anterior salida, al incluir la opción tot.omit = FALSE se calculan además los totales para cada una de las desagregaciones realizadas. En el caso de las etiquetas _label, los totales y casos no válidos son etiquetados como __tot__ y __na__, respectivamente; mientras que la etiqueta _value contendrá los valores NA. Finalmente, la tabla añade una etiqueta _mask a cada una de las desagregaciones. Esta se categoriza como 1 cuando se realiza un conteo sobre el total de dicha variable, 2 cuando se realiza un conteo sobre casos no válidos de la variable y 0 en otro caso.

Para descartar los totales y observar los conteos sobre las desagregaciones de interés únicamente,  se pueden filtrar los resultados con las columnas _mask o _label. Es importante notar que al nombre de cada columna resultante en la consulta le sigue un número que corresponde al orden en el cuál fueron ingresadas las variables.

Cálculos derivados de indicadores censales

Además de realizar conteos y tablas de frecuencias, con la librería redatam de R es posible calcular indicadores para cualquier nivel geográfico. Esta característica resulta de gran relevancia para los sistemas de estimación basados en metodologías de áreas pequeñas porque permite incluir, directamente desde el censo, un conjunto de covariables (información auxiliar) en el ajuste de este tipo de modelos. En particular, para este ejemplo, se supone que existe una alta correlación entre los indicadores sociales de una encuesta (por ejemplo, la condición de pobreza) de la persona con su condición de ocupación, lo que a nivel agregado podría validarse con la cantidad de desempleados por provincia.

De esta forma, utilizando la variable RP17TRAB contenida en la entidad PERSONA se calcula la tabla correspondiente.

Tabla4 <- redatam.query(PAN,
                           "
                           freq PROVIN.PROVNOMB
                           by PERSONA.RP17TRAB
                           "
                           )
head(Tabla4)
##   PROVNOMB1_value PROVNOMB1_label RP17TRAB2_value
## 1  BOCAS DEL TORO  BOCAS DEL TORO            1110
## 2  BOCAS DEL TORO  BOCAS DEL TORO            1120
## 3  BOCAS DEL TORO  BOCAS DEL TORO            1211
## 4  BOCAS DEL TORO  BOCAS DEL TORO            1212
## 5  BOCAS DEL TORO  BOCAS DEL TORO            1213
## 6  BOCAS DEL TORO  BOCAS DEL TORO            1214
##                                           RP17TRAB2_label value
## 1              Ocupado, trabajó la semana de referencia                          32838
## 2              Ocupado, trabajador ocasional                                            220
## 3              Desocupado, trabajó antes, buscó trabajo                          1237
## 4              Desocupado, trabajó antes, espera noticias                        513
## 5              Desocupado, trabajó antes, se cansó de buscar trabajo    501
## 6              Desocupado, trabajó antes, ya consiguió trabajo              425

De dicha tabla es posible identificar mediante _label aquellas etiquetas _value que corresponden a ocupados y desocupados. Con esta información se pueden generar nuevas variables que permitan identificar a la población ocupada y desocupada mediante variables dicotómicas que harán referencia  a estas categorías. En particular, una persona estará clasificada como ocupada si en la codificación de la base de datos original, el valor de la variable RP17TRAB2 es 1110 o 1120. De la misma manera, si la esta variable toma valores entre 1211 y 1224, la persona se clasifica como desocupado. Con estas nuevas columnas es posible reagrupar este conjunto de datos para obtener conteos únicos de los individuos en cada categoría. Además, por conveniencia, se renombra la etiqueta de la columna provincia.

Tabla5 <- Tabla4 %>%
  transmute(
    provin = PROVNOMB1_value,
    ocupados = ifelse(
      RP17TRAB2_value %in% c(1110, 1120), 1, 0),
    desocupados = ifelse(
      RP17TRAB2_value %in% c(1211:1224), 1, 0),
    value
    ) %>%
  group_by(provin, ocupados, desocupados) %>%
  summarise(value = sum(value)) %>%
  as.data.frame()

head(Tabla5)

##          provin ocupados desocupados  value
## 1       BOCAS DEL TORO        0           0  52040
## 2       BOCAS DEL TORO        0           1   3989
## 3       BOCAS DEL TORO        1           0  33058
## 4       CHIRIQUÍ        0           0 176459
## 5       CHIRIQUÍ        0           1  12988
## 6       CHIRIQUÍ        1           0 147147

Note que al ser columnas disjuntas, las variables ocupados y desocupados no podrían tomar el valor 1 de manera simultanea. Esto es posible comprobarlo en la siguiente sintaxis, la cual deberá arrojar una fila vacía.

Tabla5 %>%
  filter(ocupados == 1, desocupados == 1)
De la misma manera, utilizando la función pivot_wider de tidyverse es posible trasponer las filas correspondientes a columnas de acuerdo con la llave value, con el fin de cambiar la estructura de la consulta correspondiente.
Tabla6 <- pivot_wider(Tabla5,
                      names_from = c("ocupados", "desocupados"),
                      values_from = value,
                      names_prefix = c("ocupados")) %>%
  as.data.frame()
head(Tabla6)
##              provin ocupados0_0 ocupados0_1 ocupados1_0
## 1          BOCAS DEL TORO             52040        3989       33058
## 2          CHIRIQUÍ                             176459      12988     147147
## 3          COCLÉ                                  101052      6080       80603
## 4          COLÓN                                  90865        9648       90769
## 5          COMARCA EMBERÁ         3872          80           3042
## 6          COMARCA KUNA YALA   14436        444        8831

Nótese que el nombre de las columnas creadas obedece a una lógica de procesamiento bastante sencilla: el primer dígito corresponde a 1 si está ocupado y el segundo dígito a 1 si está desocupado. De esta forma, ocupados0_0 es el equivalente a inactivos (porque no está ocupado y no está desocupado), ocupados0_1 es el equivalente de desocupado (porque no está ocupado, pero sí está desocupado),  mientras que ocupados1_0 es el equivalente de ocupado (porque sí está ocupado, pero no está desocupado). 

Finalmente, es posible calcular la tasa de desocupación provincial ponderando las respectivas columnas de la tabla calculada anteriormente.

Consulta <- Tabla6 %>%
  transmute(provin,
            tasa_desocupacion =
            ocupados1_0/sum(ocupados0_1 + ocupados1_0))

head(Consulta)

##              provin tasa_desocupacion
## 1          BOCAS DEL TORO       0.023404772
## 2          CHIRIQUÍ       0.104178776
## 3          COCLÉ       0.057066212
## 4          COLÓN       0.064263650
## 5          COMARCA EMBERÁ       0.002153709
## 6          COMARCA KUNA YALA       0.006252270

Conclusiones

Ante la creciente necesidad de contar con estimaciones desagregadas para monitorear el progreso de los indicadores más importantes de una sociedad y con el fin de dar seguimiento al cumplimiento de la Agenda 2030 sin dejar a nadie atrás, es necesario contar con la implementación de nuevas y mejores metodologías de estimación basadas en la integración de distintos tipos de información. En particular, teniendo como base que las encuestas de hogares permiten un seguimiento continuo a lo largo del tiempo de los fenómenos de interés a nivel nacional, se hace necesario complementar esta información con datos  provenientes de operaciones estadísticas que tengan una cobertura exhaustiva y completa sobre la población total.

Es así como la unión entre encuestas de hogares y censos de población y vivienda representa una buena opción en materia de integración de datos con miras a la construcción de sistemas de estimación a nivel desagregado, que puedan actualizarse de manera oportuna y que redunden en estimadores con buenas propiedades estadísticas. Sin embargo, a pesar de contar con la disponibilidad de la información a nivel de microdatos de las encuestas y de los censos en los países, el manejo de grandes volúmenes de información (proveniente de los censos), así como el modelamiento estadístico avanzado no interactuaban en una misma plataforma. Con la creación de la librería redatam de R, es posible tener en un mismo ambiente computacional, el poder de Redatam a la hora de procesar datos censales y la versatilidad de R a la hora de ajustar modelos estadísticos complejos.

Bibliografía

  • Gutiérrez, H. A. (2016). Estrategias de muestreo: diseño de encuestas y estimación de parámetros (Segunda edición). Ediciones de la U.
  • Salvador, J. (2020). redatam 1.0.1: RedatamX interface for R.
  • Molina, I. (2018). Desagregación de datos en encuesta de hogares: metodologías de estimación en áreas pequeñas. CEPAL.
  • Rao, J, & Molina, I. (2015). Small Area Estimation. Wiley.
  • Wickham et al., (2019). Welcome to the tidyverse. Journal of Open Source Software, 4(43), 1686,  https://doi.org/10.21105/joss.01686.