| Type: | Package |
| Title: | Extraction and Analysis of 2022 Argentina Census Microdata from REDATAM Databases |
| Version: | 1.0.1 |
| Description: | Provides tools to extract, label, and read microdata from the 2022 National Census of Population, Households and Dwellings of Argentina stored in REDATAM databases officially distributed by INDEC. Implements a complete province-by-province extraction pipeline with efficient memory management, reconstruction of hierarchical identifiers, automatic variable labeling from official INDEC dictionaries, and integrity verification against published totals. Allows working with census data directly in R without knowledge of REDATAM syntax, and supports export to multiple formats including Parquet, CSV, SPSS and SAS. Census data must be downloaded directly from the official INDEC portal (https://www.indec.gob.ar). This package does not distribute census data. Duran (2026) <doi:10.5281/zenodo.19560728>. |
| License: | GPL (≥ 3) |
| Encoding: | UTF-8 |
| Language: | es |
| Depends: | R (≥ 4.1.0) |
| Imports: | redatamx, callr (≥ 3.7.0), arrow, data.table, haven, readxl, dplyr |
| Suggests: | tibble, testthat (≥ 3.0.0), knitr, rmarkdown |
| LinkingTo: | cpp11 |
| VignetteBuilder: | knitr |
| URL: | https://github.com/RodriDuran/censo2022arg |
| BugReports: | https://github.com/RodriDuran/censo2022arg/issues |
| RoxygenNote: | 7.3.3 |
| NeedsCompilation: | yes |
| Packaged: | 2026-04-15 19:39:09 UTC; LABOTERMO |
| Author: | Rodrigo Javier Duran
|
| Maintainer: | Rodrigo Javier Duran <rodrigo.duran@exa.unsa.edu.ar> |
| Repository: | CRAN |
| Date/Publication: | 2026-04-21 18:42:24 UTC |
Configurar el directorio de datos del Censo 2022
Description
Define el directorio donde se guardaran todos los archivos del censo: bases REDATAM, metadatos y microdatos extraidos. Es el primer paso antes de usar cualquier otra funcion del paquete.
El directorio puede estar en cualquier ubicacion - disco interno, externo o de red. El paquete en si se instala en la libreria de R del sistema; los datos quedan donde usted elija.
Al ejecutarse, la funcion crea automaticamente la estructura de carpetas necesaria y copia los archivos de control oficial del INDEC.
Usage
censo_configurar(dir, persistent = FALSE)
Arguments
dir |
Ruta al directorio raiz donde se guardaran todos los archivos del censo. Debe ser elegida por el usuario; el paquete no asume ninguna ubicacion por defecto. |
persistent |
Logico. Si |
Value
La ruta configurada (invisible).
See Also
censo_info, censo_descargar,
censo_verificar_engine
Examples
# Configurar para esta sesion unicamente
censo_configurar("/home/usuario/mis_datos/censo2022")
# Configurar y guardar para todas las sesiones futuras
censo_configurar("/home/usuario/mis_datos/censo2022", persistent = TRUE)
# En Windows
censo_configurar("D:/Datos/Censo2022", persistent = TRUE)
# En un disco externo (Mac/Linux)
censo_configurar("/Volumes/MiDisco/Censo2022", persistent = TRUE)
# Ejemplo ejecutable:
old <- getOption("censo2022.dir")
censo_configurar(tempdir())
options(censo2022.dir = old) # restaurar estado anterior
Descargar bases y documentacion del Censo 2022 desde el INDEC
Description
Descarga automaticamente desde el portal oficial del INDEC las bases de datos REDATAM, los diccionarios de variables, los cuestionarios y la documentacion metodologica del Censo 2022.
Los archivos se guardan en la estructura de directorios configurada
previamente con censo_configurar().
Usage
censo_descargar(que = "todo", overwrite = FALSE)
Arguments
que |
Character. Que descargar. Opciones:
Se pueden combinar: |
overwrite |
Logico. Si |
Details
La descarga de las bases puede demorar varios minutos dependiendo de la conexion. Si el enlace no esta disponible, la funcion indica como descargar los archivos manualmente desde el sitio del INDEC.
Value
Invisible NULL. Se ejecuta por sus efectos secundarios
(descarga de archivos al directorio configurado).
See Also
censo_configurar, extraer_redatam
Examples
## Not run:
# Descargar todo (recomendado la primera vez)
censo_descargar()
# Solo los metadatos (mas rapido, util para probar la configuracion)
censo_descargar(que = "metadatos")
# Forzar re-descarga de las bases
censo_descargar(que = "bases", overwrite = TRUE)
## End(Not run)
Aplicar etiquetas a los microdatos extraidos del Censo 2022
Description
Aplica las etiquetas del diccionario oficial del INDEC a los archivos
de microdatos generados por extraer_redatam(). El proceso
realiza tres transformaciones sobre cada archivo:
Limpia los nombres de columna eliminando los sufijos numericos del motor REDATAM (
p01_0->P01).Agrega una etiqueta descriptiva a cada variable (atributo
label).Convierte las variables categoricas a factor con las etiquetas de sus categorias (ej:
1->"Jefa o jefe").
Las variables geograficas identificadoras no se convierten a factor porque sus codigos no corresponden al nivel jerarquico del diccionario.
El proceso es idempotente: si un archivo ya fue etiquetado, se detecta automaticamente y se omite sin modificarlo.
Usage
censo_etiquetar(
fuente_meta = "xls",
provincias = "all",
bases = "all",
etiquetar = "todo"
)
Arguments
fuente_meta |
Character. Fuente de los metadatos de etiquetado.
|
provincias |
Numerico o |
bases |
Character o |
etiquetar |
Character. Que etiquetas aplicar:
|
Value
Invisible NULL. Modifica los archivos en el directorio
configurado.
See Also
Examples
## Not run:
# Etiquetar todas las provincias (configuracion automatica)
censo_etiquetar()
# Solo Formosa y Salta
censo_etiquetar(provincias = c(34, 66))
# Solo la base de Personas
censo_etiquetar(bases = "Personas")
# Usando el motor REDATAM como fuente de metadatos
censo_etiquetar(fuente_meta = "redatam")
## End(Not run)
Mostrar el estado actual de la configuracion
Description
Presenta un resumen del estado del paquete: directorio configurado, archivos disponibles, provincias extraidas y proximos pasos sugeridos. Tambien verifica si el motor de extraccion esta correctamente preparado.
Es util para orientarse al retomar el trabajo despues de un tiempo o para diagnosticar problemas de configuracion.
Usage
censo_info()
Value
La ruta del directorio configurado (invisible), o NULL
si no hay configuracion activa.
See Also
censo_configurar, censo_descargar
Examples
if (nzchar(getOption("censo2022.dir", ""))) {
censo_info()
}
Leer microdatos del Censo 2022
Description
Lee los microdatos extraidos del Censo 2022 y los devuelve como un objeto de R listo para analizar. Permite seleccionar provincias, variables y aplicar filtros de filas sin necesidad de cargar todo el conjunto de datos en memoria.
Se recomienda ejecutar censo_etiquetar() antes de usar esta
funcion para disponer de nombres de variable legibles y categorias
correctamente etiquetadas.
Usage
censo_leer(
base = "Personas",
provincias = "all",
columnas = NULL,
filtro = NULL,
formato = "data.frame",
dir = NULL
)
Arguments
base |
Character. Base de datos a leer:
|
provincias |
Numerico, character o |
columnas |
Character o |
filtro |
Expresion o |
formato |
Character. Formato del objeto devuelto:
|
dir |
Character o |
Details
## Filtros y seleccion de columnas
Los filtros y la seleccion de columnas se aplican usando Apache Arrow antes de cargar los datos en la memoria de R. Esto permite trabajar con subconjuntos de datos sin necesidad de disponer de la RAM suficiente para el conjunto completo.
## Estimacion de uso de memoria
Los archivos en disco estan comprimidos (formato parquet). Al cargarlos en R, el uso de RAM es aproximadamente 4-5 veces mayor que el tamano del archivo. Una provincia mediana ocupa ~50-100 MB en RAM. El pais completo puede superar los 12 GB.
Value
Un data.frame, data.table o tibble segun
el parametro formato.
See Also
extraer_redatam, censo_etiquetar,
censo_configurar
Examples
## Not run:
# Personas de Formosa
df <- censo_leer(base = "Personas", provincias = 34)
# Por nombre de provincia
df <- censo_leer(base = "Personas", provincias = c("salta", "jujuy"))
# Personas de Salta y Jujuy, solo algunas variables
df <- censo_leer(
base = "Personas",
provincias = c(66, 38),
columnas = c("P01", "EDAD", "CONDACT", "IDRADIO")
)
# Personas mayores de 18 anos de Cordoba
df <- censo_leer(
base = "Personas",
provincias = 14,
filtro = quote(EDAD >= 18)
)
# Hogares de todo el pais como data.table
dt <- censo_leer(base = "Hogares", formato = "data.table")
## End(Not run)
Verificar el estado del motor de extraccion REDATAM
Description
Verifica si el motor de extraccion esta correctamente preparado para trabajar con el Censo 2022. Si no lo esta, muestra las instrucciones paso a paso para prepararlo segun su sistema operativo.
Por que es necesario este paso?
El motor REDATAM (distribuido con el paquete redatamx) tiene
un limite interno que restringe la extraccion a 100 registros por
consulta. Este limite fue disenado para uso interactivo del software
REDATAM, no para la extraccion masiva de microdatos. Para poder
extraer los 44 millones de registros del censo, es necesario ampliar
ese limite aplicando una modificacion puntual al archivo del motor.
Esta modificacion es de bajo nivel (unos pocos bytes en el binario compilado) y no afecta ninguna otra funcionalidad. Debe realizarse una sola vez, y puede revertirse en cualquier momento usando la copia de seguridad que la funcion indica crear.
Usage
censo_verificar_engine()
Value
Invisible TRUE si el motor esta listo, FALSE
si requiere preparacion.
See Also
censo_configurar, extraer_redatam
Examples
censo_verificar_engine()
Extraer microdatos del Censo Nacional de Poblacion, Hogares y Viviendas 2022
Description
Extrae los microdatos completos del Censo 2022 desde las bases REDATAM del INDEC, provincia por provincia, con verificacion automatica de integridad contra los totales oficiales publicados.
Para cada provincia genera cinco archivos:
-
provincia_PO_VP.parquet- base completa (una fila por persona) -
provincia_Personas.parquet- variables de persona -
provincia_Hogares.parquet- variables de hogar -
provincia_Viviendas.parquet- variables de vivienda -
provincia_colectivas.parquet- viviendas colectivas
La extraccion es retomable: si se interrumpe, al volver a ejecutar continua desde donde quedo sin repetir lo ya procesado.
Usage
extraer_redatam(
provincias = "all",
formatos = "parquet",
max_por_bloque = 10,
dic_path_vp = NULL,
dic_path_po = NULL,
dic_path_vc = NULL,
output_dir = NULL,
control_dir = NULL
)
Arguments
provincias |
Numerico o |
formatos |
Character. Formato de salida de los archivos.
Default |
max_por_bloque |
Integer. Numero maximo de variables por bloque de extraccion. Default 10. Reducir en equipos con poca memoria RAM. |
dic_path_vp |
Character. Ruta al archivo .rxdb de la Base VP.
Si es |
dic_path_po |
Character. Ruta al archivo .rxdb de la Base PO.
Si es |
dic_path_vc |
Character. Ruta al archivo .rxdb de la Base VC.
Si es |
output_dir |
Character. Directorio de salida para los microdatos.
Si es |
control_dir |
Character. Directorio con los archivos de control
del INDEC para verificacion. Si es |
Details
## Bases del Censo 2022
El INDEC distribuyo tres bases complementarias:
-
VP (Viviendas Particulares): contiene las variables principales e incluye los niveles geograficos de fraccion y radio censal, necesarios para analisis a nivel de radio.
-
PO (Pueblos Originarios, Afrodescendientes e Identidad de Genero): agrega seis variables sensibles no incluidas en VP. No incluye fraccion ni radio censal.
-
VC (Viviendas Colectivas): personas en establecimientos colectivos (hospitales, carceles, etc.).
La base extraida combina VP y PO, obteniendo el radio censal de VP y las seis variables adicionales de PO.
## Gestion de memoria
Cada bloque se extrae en un subproceso Rscript independiente. Esto evita la acumulacion de memoria del motor REDATAM en la sesion principal de R. El proceso maestro solo lee los archivos intermedios desde disco y los une en memoria.
Value
Invisible. Una lista con los elementos:
fallidas (provincias con errores) y log (ruta al log).
See Also
censo_configurar para configurar las rutas,
censo_etiquetar para etiquetar los archivos generados,
censo_leer para leer los microdatos extraidos.
Examples
## Not run:
# Extraer todas las provincias
extraer_redatam()
# Solo Formosa (prueba rapida)
extraer_redatam(provincias = 34)
# Salta y Jujuy, exportando tambien a CSV
extraer_redatam(provincias = c(66, 38), formatos = c("parquet", "csv"))
## End(Not run)
Extraer microdatos de cualquier base RedatamX (.rxdb)
Description
Convierte una base de datos en formato RedatamX (.rxdb) a un archivo de salida con todos sus microdatos, sin asumir ninguna estructura predefinida de variables, entidades ni jerarquia geografica.
La funcion detecta automaticamente la entidad mas granular de la jerarquia (entidad hoja), construye bloques de variables dinamicamente desde el diccionario, y extrae cada bloque en un subproceso independiente para una gestion eficiente de la memoria RAM.
Para el Censo Argentina 2022, utilice extraer_redatam,
que incluye filtrado provincial, reconstruccion de identificadores
jerarquicos y verificacion de integridad.
Usage
extraer_rxdb(
dic_path,
output_file = NULL,
max_por_bloque = 10,
formato = "parquet",
verbose = TRUE
)
Arguments
dic_path |
Character. Ruta al archivo de diccionario (.rxdb). |
output_file |
Character. Ruta al archivo de salida. Si es
|
max_por_bloque |
Integer. Numero maximo de variables por bloque de extraccion. Default 10. Reducir en equipos con poca memoria RAM. |
formato |
Character. Formato de salida: |
verbose |
Logico. Si |
Details
## Requisito previo
Requiere el motor RedatamX con el limite de extraccion ampliado.
Verifique el estado del motor con censo_verificar_engine()
antes de usar esta funcion.
## Compatibilidad
Compatible con bases en formato .rxdb (RedatamX). No es compatible con el formato Redatam7 (.dicx + .rbf), utilizado por censos como el de Ecuador 2022.
## Gestion de memoria
La extraccion se realiza en bloques de max_por_bloque variables.
Cada bloque se procesa en un subproceso Rscript independiente que
libera la memoria del motor C++ al finalizar. El proceso principal
solo une los bloques leidos desde disco.
## Paises con bases RedatamX conocidas (ronda 2020)
-
Argentina 2022: usar
extraer_redatam()para el pipeline completo. -
Guatemala, Mexico, Bolivia: compatibilidad pendiente de verificacion.
Value
Invisible. La ruta al archivo generado.
See Also
extraer_redatam para el Censo Argentina 2022,
censo_verificar_engine para verificar el motor.
Examples
## Not run:
# Uso basico: convertir cualquier base .rxdb a parquet
extraer_rxdb(
dic_path = "/ruta/a/base.rxdb",
output_file = "/ruta/salida/microdatos.parquet"
)
# Con bloques mas pequenos para equipos con poca memoria RAM
extraer_rxdb(
dic_path = "/ruta/a/base.rxdb",
output_file = "/ruta/salida/microdatos.parquet",
max_por_bloque = 5
)
## End(Not run)