--- title: "Introducción a censosbo" output: rmarkdown::html_vignette vignette: > %\VignetteIndexEntry{Introducción a censosbo} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ## ¿Qué es censosbo? `censosbo` es un paquete de R que facilita el acceso a los microdatos de los **censos de Bolivia** (1976, 1992, 2001, 2012 y CPV-2024), publicados por el Instituto Nacional de Estadística (INE). Los datos se distribuyen como archivos **Parquet** comprimidos, que se descargan **bajo demanda** y se guardan en un caché local. No es necesario descargar todo: se puede pedir solo el departamento de interés. ## Instalación ``` r install.packages("censosbo") ``` ## Censos disponibles | Año | Función | Registros | Columnas | Disco (Parquet) | RAM (aprox.)¹ | |:---:|---------|----------:|---------:|----------------:|--------------:| | **1976** | `get_poblacion_1976()` | 4,613,419 | 48 | 46 MB | ~890 MB | | **1976** | `get_viviendas_1976()` | 1,158,482⁴ | 29 | 5 MB | ~135 MB | | **1992** | `get_personas_1992()` | 6,420,792 | 58 | 99 MB | ~1,5 GB | | **1992** | `get_viviendas_1992()` | 1,701,168⁴ | 47 | 20 MB | ~330 MB | | **1992** | `get_mortalidad_1992()` | 1,706,107 | 17 | 11 MB | ~125 MB | | **2001** | `get_personas_2001()` | 8,274,325 | 70 | 135 MB | ~2,5 GB | | **2001** | `get_viviendas_2001()` | 2,281,022⁴ | 42 | 21 MB | ~390 MB | | **2012** | `get_personas_2012()` | 10,059,856 | 41 | 120 MB | ~1,7 GB | | **2012** | `get_viviendas_2012()` | 3,159,350⁴ | 35 | 26 MB | ~455 MB | | **2012** | `get_emigracion_2012()` | 489,559 | 9 | 4 MB | ~20 MB | | **2012** | `get_discapacidad_2012()` | 342,929 | 11 | 3 MB | ~17 MB | | **2024**² | `get_personas_2024()` | 11,365,333 | 119 | 282 MB | ~5,6 GB | | **2024**² | `get_viviendas_2024()` | 4,480,201⁴ | 48 | 55 MB | ~1,0 GB | | **2024**² | `get_emigracion_2024()` | 500,914 | 8 | 2 MB | ~39 MB | | **2024**² | `get_mortalidad_2024()` | 382,731 | 10 | 2 MB | ~33 MB | | **2024**³ | `get_unidades_2024()` | 268,604 | 9 | 2 MB | ~16 MB | | **2024**³ | `get_fichas_2024()` | 150,744 | 199 | 15 MB | ~230 MB | ¹ Tamaño al cargar la tabla **completa** con `collect()` sin filtros. Por eso Arrow es el formato por defecto: `get_personas_2024()` para todo el país no cabe cómodamente en RAM, pero sí se puede filtrar y agregar sobre el Parquet. ² Persona 2024 está particionada en 9 archivos por departamento (4–77 MB cada uno). Disco y RAM muestran el total; en la práctica se descarga solo el/los departamentos necesarios. ³ Datos **agregados** por manzano urbano y comunidad rural (no microdatos), del geoportal del INE. Ver el artículo [Manzanos y comunidades](https://lab-tecnosocial.github.io/censosbo/articles/manzanos-comunidades.html). ⁴ Viviendas en el universo oficial del INE, que es lo que devuelven por defecto. La entidad cruda de REDATAM trae además registros de personas censadas en la calle o en tránsito, que no son viviendas: `universo = "todos"` los incluye (10.287 más en 2024). Ver `tipos_vivienda()` y el artículo [Análisis de vivienda](https://lab-tecnosocial.github.io/censosbo/articles/analisis-vivienda.html). El formato **Arrow** (defecto) mantiene los datos en disco hasta que se llama `collect()`. Las tablas del CPV-2024 se unen con la clave compuesta `idep + iprov + imun + i00` (identificador de hogar). ## Diccionario de variables El paquete incluye diccionarios completos de los cinco censos (1976, 1992, 2001, 2012 y CPV-2024) con etiquetas en español, disponibles sin necesidad de descargar nada: ``` r # Distribución de variables por tabla y tipo codebook_meta |> count(tabla, tipo) |> ggplot(aes(x = reorder(tabla, n), y = n, fill = tipo)) + geom_col() + coord_flip() + scale_fill_manual( values = c(categorica = "#003087", numerica = "#F4C430", texto = "#9AA5B1"), labels = c(categorica = "Categórica", numerica = "Numérica", texto = "Texto") ) + labs( title = "Variables del CPV-2024 por tabla y tipo", x = NULL, y = "Número de variables", fill = "Tipo", caption = "Fuente: INE Bolivia, CPV-2024" ) + theme_minimal(base_size = 12) ``` ![plot of chunk codebook-grafico](figuras-introduccion-codebook-grafico-1.png) ``` r # Buscar variables relacionadas con educación codebook(buscar = "educa") #> variable #> 1 p38_asiste #> 2 p39_tipoest #> 3 p40_lee #> 4 p41a_nivel #> 5 p41b_curso #> 6 p41a_nivel_act #> 7 p41b_curso_act #> 8 nivel_edu #> 9 aestudio #> 10 asiste #> 11 gedadedu #> 12 edu_total_h #> 13 edu_total_m #> 14 edu_ninguno_h #> 15 edu_ninguno_m #> 16 edu_primaria_h #> 17 edu_primaria_m #> 18 edu_secundaria_h #> 19 edu_secundaria_m #> 20 edu_superior_h #> 21 edu_superior_m #> 22 edu_ns_h #> 23 edu_ns_m #> etiqueta #> 1 38. Actualmente, asiste como estudiante a: #> 2 39. El centro o establecimiento educativo al que asiste es: #> 3 40. Sabe leer y escribir #> 4 41.A. Cuál es el último curso o año que aprobó y en que nivel educativo (Nivel) #> 5 41.B. Cuál es el último curso o año que aprobó y en que nivel educativo (Curso o Año) #> 6 Nivel educativo alcanzado: sistema actual (5 o más años de edad) #> 7 Curso o año aprobado: sistema actual (5 o más años de edad) #> 8 Nivel educativo alcanzado agrupado (19 o más años de edad, residentes en el país y que respondieron a la pregunta) #> 9 Años de estudio (19 o más años de edad, residentes en el país y que respondieron a la pregunta) #> 10 Asistencia educativa (residentes en el país y que respondieron a la pregunta) #> 11 Grupo de edad según asistencia educativa (residentes en el país y que respondieron a la pregunta) #> 12 Población de 19 o más años, hombres #> 13 Población de 19 o más años, mujeres #> 14 Nivel de instrucción ninguno, hombres #> 15 Nivel de instrucción ninguno, mujeres #> 16 Nivel de instrucción primaria, hombres #> 17 Nivel de instrucción primaria, mujeres #> 18 Nivel de instrucción secundaria, hombres #> 19 Nivel de instrucción secundaria, mujeres #> 20 Nivel de instrucción superior, hombres #> 21 Nivel de instrucción superior, mujeres #> 22 Nivel de instrucción sin especificar, hombres #> 23 Nivel de instrucción sin especificar, mujeres #> tabla categorias tipo tema capitulo pregunta pregunta_num #> 1 persona 9 categorías categorica educacion G 38 38 #> 2 persona 3 categorías categorica educacion G 39 39 #> 3 persona 3 categorías categorica educacion G 40 40 #> 4 persona 14 categorías categorica educacion G 41.A 41 #> 5 persona numerica educacion G 41.B 41 #> 6 persona 11 categorías categorica educacion G 41.A 41 #> 7 persona numerica educacion G 41.B 41 #> 8 persona 4 categorías categorica educacion G NA #> 9 persona numerica educacion G NA #> 10 persona 2 categorías categorica educacion G NA #> 11 persona 7 categorías categorica educacion G NA #> 12 ficha numerica educacion G NA #> 13 ficha numerica educacion G NA #> 14 ficha numerica educacion G NA #> 15 ficha numerica educacion G NA #> 16 ficha numerica educacion G NA #> 17 ficha numerica educacion G NA #> 18 ficha numerica educacion G NA #> 19 ficha numerica educacion G NA #> 20 ficha numerica educacion G NA #> 21 ficha numerica educacion G NA #> 22 ficha numerica educacion G NA #> 23 ficha numerica educacion G NA #> origen universo bloque denominador #> 1 cuestionario todas_personas #> 2 cuestionario todas_personas #> 3 cuestionario personas_5_mas #> 4 cuestionario personas_5_mas #> 5 cuestionario personas_5_mas #> 6 derivada personas_5_mas #> 7 derivada personas_5_mas #> 8 derivada personas_19_mas #> 9 derivada personas_19_mas #> 10 derivada todas_personas #> 11 derivada todas_personas #> 12 indicador todas_personas educacion #> 13 indicador todas_personas educacion #> 14 indicador todas_personas educacion edu_total_h #> 15 indicador todas_personas educacion edu_total_m #> 16 indicador todas_personas educacion edu_total_h #> 17 indicador todas_personas educacion edu_total_m #> 18 indicador todas_personas educacion edu_total_h #> 19 indicador todas_personas educacion edu_total_m #> 20 indicador todas_personas educacion edu_total_h #> 21 indicador todas_personas educacion edu_total_m #> 22 indicador todas_personas educacion edu_total_h #> 23 indicador todas_personas educacion edu_total_m #> #> 2 columnas sin datos aquí: grupo_ine, valores_fuente ``` ``` r # Ver los códigos de una variable categórica codebook_valores("p25_sexo") #> codigo etiqueta #> 1 1 Mujer #> 2 2 Hombre ``` ## Etiquetas en los resultados Los datos del censo usan códigos numéricos. El paquete ofrece dos funciones para hacerlos legibles: - `etiquetar_valores()` — convierte los **códigos** a etiquetas en español (1 → "Mujer") - `etiquetar_variables()` — renombra las **columnas** con sus descripciones del INE Ambas funciones **detectan automáticamente el censo** a partir de los nombres de columna del data frame, por lo que funcionan igual para el CPV-2024 y para los censos históricos (1976, 1992, 2001, 2012) sin necesidad de especificar el año. ``` r # Ejemplo con los datos de geografía incluidos en el paquete codebook_meta |> filter(tabla == "persona", tipo == "categorica") |> head(5) |> select(variable, etiqueta, tipo) #> variable #> 1 p24_parentes #> 2 p25_sexo #> 3 p28_cn #> 4 p29_ci #> 5 p30a_public #> etiqueta #> 1 24. Que parentesco tiene con la jefa o jefe del hogar #> 2 25. Es mujer u hombre #> 3 28. Su nacimiento está inscrito en el registro civil boliviano #> 4 29. Tiene o tuvo cédula de identidad boliviana #> 5 30.A. Cuando tiene problemas de salud acude a Puesto/centro/hospital de salud público #> tipo #> 1 categorica #> 2 categorica #> 3 categorica #> 4 categorica #> 5 categorica ``` En los siguientes ejemplos se aplican después de `collect()`: ``` r # CPV-2024: detección automática get_personas_2024(departamento = "Pando", verbose = FALSE) |> count(p25_sexo, nivel_edu) |> collect() |> etiquetar_valores() |> # 1 → "Mujer", 2 → "Hombre"; 1 → "Ninguno", etc. head(4) #> # A tibble: 4 × 3 #> p25_sexo nivel_edu n #> #> 1 Hombre Secundaria 22987 #> 2 Mujer Secundaria 17563 #> 3 Mujer 27417 #> 4 Hombre 29000 # Para reportes: también renombrar columnas get_personas_2024(departamento = "Pando", verbose = FALSE) |> count(p25_sexo) |> collect() |> etiquetar_valores() |> etiquetar_variables() # "p25_sexo" → "25. Es mujer u hombre" #> # A tibble: 2 × 2 #> `25. Es mujer u hombre` n #> #> 1 Hombre 70839 #> 2 Mujer 63355 ``` ``` r # Censos históricos: mismo flujo, sin especificar año get_personas_1992(departamento = "07") |> count(P03) |> collect() |> etiquetar_valores() |> etiquetar_variables() # "P03" → "Es hombre o mujer" ``` ## Geografía: departamentos, provincias y municipios El paquete incluye la división político-administrativa completa de Bolivia sin necesidad de descargar nada: ``` r departamentos() #> # A tibble: 9 × 2 #> idep nombre_dep #> #> 1 01 Chuquisaca #> 2 02 La Paz #> 3 03 Cochabamba #> 4 04 Oruro #> 5 05 Potosí #> 6 06 Tarija #> 7 07 Santa Cruz #> 8 08 Beni #> 9 09 Pando ``` ``` r geo_bolivia |> count(idep, nombre_dep, name = "municipios") |> ggplot(aes(x = reorder(nombre_dep, municipios), y = municipios)) + geom_col(fill = "#003087") + geom_text(aes(label = municipios), hjust = -0.2, size = 3.5) + coord_flip() + ylim(0, 95) + labs( title = "Municipios por departamento — Bolivia", x = NULL, y = "Número de municipios", caption = "Fuente: INE Bolivia, CPV-2024" ) + theme_minimal(base_size = 12) ``` ![plot of chunk municipios-por-dep](figuras-introduccion-municipios-por-dep-1.png) ``` r # Variables de la tabla de emigración codebook(tabla = "emigracion") #> variable etiqueta tabla #> 1 e203_sexo 20.3. La persona es: emigracion #> 2 e204_ansal 20.4. En qué año salió del país emigracion #> 3 e205_edad 20.5. A qué edad se fue emigracion #> 4 pais_destino_cod 20.2. En que país vive actualmente emigracion #> 5 idep Código de departamento (01-09) emigracion #> 6 iprov Código de provincia emigracion #> 7 imun Código de municipio emigracion #> 8 i00 Número de vivienda dentro del predio emigracion #> categorias tipo tema capitulo pregunta #> 1 3 categorías categorica emigracion_internacional D 20.3 #> 2 numerica emigracion_internacional D 20.4 #> 3 numerica emigracion_internacional D 20.5 #> 4 256 categorías categorica emigracion_internacional D 20.2 #> 5 categorica ubicacion_geografica A #> 6 categorica ubicacion_geografica A #> 7 categorica ubicacion_geografica A #> 8 categorica identificacion A #> pregunta_num origen universo #> 1 20 cuestionario personas_emigrantes #> 2 20 cuestionario personas_emigrantes #> 3 20 cuestionario personas_emigrantes #> 4 20 cuestionario personas_emigrantes #> 5 NA geografia #> 6 NA geografia #> 7 NA geografia #> 8 NA identificador #> #> 4 columnas sin datos aquí: grupo_ine, bloque, denominador, valores_fuente ``` ## Mapas coropléticos El paquete incluye geometrías sf para los 9 departamentos (`geo_departamentos`) y los 343 municipios (`geo_municipios`) de Bolivia, disponibles sin descarga. La función `mapa_dep()` genera mapas coropléticos a nivel departamental: ``` r # Número de municipios por departamento (solo usa datos incluidos en el paquete) mun_x_dep <- geo_bolivia |> count(idep, name = "n_municipios") mapa_dep(mun_x_dep, "n_municipios", titulo = "Municipios por departamento — Bolivia", mostrar_nombres = TRUE) ``` ![plot of chunk mapa-intro](figuras-introduccion-mapa-intro-1.png) Para mapas a nivel municipal con ejemplos usando datos reales del CPV-2024, ver el artículo **[Visualización en mapas](https://lab-tecnosocial.github.io/censosbo/articles/visualizacion-mapas.html)**. ## Primera descarga de microdatos (CPV-2024) ``` r # Descargar datos de Pando, el departamento más pequeño (~4 MB, queda en caché) personas_pando <- get_personas_2024(departamento = "Pando") #> ✔ Usando caché: 'persona_dep09.parquet' personas_pando #> FileSystemDataset with 1 Parquet file #> 119 columns #> idep: string #> iprov: string #> imun: string #> i00: string #> p24_parentes: int32 #> p25_sexo: int32 #> p26_edad: int32 #> p28_cn: int32 #> p29_ci: int32 #> p30a_public: int32 #> p30b_caja: int32 #> p30c_privad: int32 #> p30d_atedom: int32 #> p30e_tradic: int32 #> p30f_autome: int32 #> p30g_casera: int32 #> p31_afiliado: int32 #> p32_pueblo_per: int32 #> p32_pueblo_cod: string #> p331_idiohab1_cod: string #> ... #> 99 more columns #> Use `schema()` to see entire schema ``` El resultado por defecto es un **Arrow Dataset** — los datos quedan en disco, no en RAM. ## Filtros geográficos `departamento`, `provincia` y `municipio` aceptan **códigos o nombres** (mezclables). Los nombres son únicos dentro de su departamento, así que basta con dar el departamento para desambiguar. ``` r # CPV-2024 — por código o por nombre get_personas_2024(departamento = "La Paz") get_personas_2024(departamento = c("La Paz", "Cochabamba", "Santa Cruz")) get_personas_2024(departamento = "Santa Cruz", provincia = "Andrés Ibáñez") get_personas_2024(departamento = "Cochabamba", municipio = "Cochabamba") # Si das municipio/provincia sin departamento, se infiere (no descarga todo el país) get_personas_2024(municipio = "Cochabamba") # Censos históricos — mismos argumentos (1992/2001/2012 también por nombre) get_personas_2012(departamento = "La Paz") get_censo(2001, "persona", departamento = "Santa Cruz", municipio = "Andrés Ibáñez") ``` Un valor inexistente produce un **error claro** (no un resultado vacío en silencio). Un nombre repetido entre departamentos (p. ej. `"Cercado"`, `"Totora"`) pide indicar `departamento`. ### Nombres geográficos legibles en los microdatos Los microdatos traen solo códigos (`idep`, `iprov`, `imun`). `etiquetar_geografia()` agrega los nombres (`nombre_dep`, `nombre_prov`, `nombre_mun`) sin necesidad de un `left_join` manual con `municipios()`: ``` r get_personas_2024(departamento = "Pando", verbose = FALSE) |> count(idep, iprov, imun) |> collect() |> etiquetar_geografia() |> head(5) #> # A tibble: 5 × 7 #> idep iprov imun n nombre_dep nombre_prov nombre_mun #> #> 1 09 01 01 55114 Pando Nicolás Suárez Cobija #> 2 09 05 02 2511 Pando Federico Román Villa Nueva #> 3 09 04 02 2600 Pando Abuná Ingavi #> 4 09 01 04 3630 Pando Nicolás Suárez Bella Flor #> 5 09 02 01 7367 Pando Manuripi Puerto Rico ``` ## Selección de variables ``` r get_personas_2024( departamento = "Santa Cruz", variables = c("p25_sexo", "p26_edad", "nivel_edu") ) # Las columnas idep, iprov, imun, i00 siempre se incluyen ``` ## Formatos de retorno ``` r # Arrow (defecto): lazy, no carga en RAM ds <- get_personas_2024(departamento = "Santa Cruz", as = "arrow") # tibble: trae a RAM (cuidado con departamentos grandes) df <- get_personas_2024(departamento = "Pando", as = "tibble") # DuckDB: conexión SQL. Cerrar siempre con shutdown = TRUE para liberar # la instancia de DuckDB, no solo la conexión. con <- get_personas_2024(departamento = "Santa Cruz", as = "duckdb") DBI::dbGetQuery(con, "SELECT COUNT(*) FROM personas") DBI::dbDisconnect(con, shutdown = TRUE) ``` ## Uso con dplyr Arrow es compatible con `dplyr`. Usa `etiquetar_valores()` después de `collect()`: ``` r # Distribución por sexo con etiquetas get_personas_2024(departamento = "Pando", verbose = FALSE) |> count(p25_sexo) |> collect() |> etiquetar_valores() #> # A tibble: 2 × 2 #> p25_sexo n #> #> 1 Hombre 70839 #> 2 Mujer 63355 # Grupos quinquenales de edad (usar %/% — cut() no es compatible con Arrow) get_personas_2024(departamento = "Pando", verbose = FALSE) |> filter(!is.na(p26_edad), !is.na(p25_sexo)) |> mutate(grupo_edad = (p26_edad %/% 5L) * 5L) |> count(grupo_edad, p25_sexo) |> collect() |> etiquetar_valores() |> arrange(grupo_edad) |> head(6) #> # A tibble: 6 × 3 #> grupo_edad p25_sexo n #> #> 1 0 Mujer 6091 #> 2 0 Hombre 6090 #> 3 5 Hombre 7894 #> 4 5 Mujer 7522 #> 5 10 Mujer 7590 #> 6 10 Hombre 7937 ``` ## Consultas SQL con DuckDB ``` r library(DBI) con <- get_personas_2024(departamento = "Pando", as = "duckdb", verbose = FALSE) #> duckdb is storing downloaded extensions and secrets under ~/.duckdb: #> ℹ /Users/alexojeda/.duckdb #> This persists across sessions and is shared with the DuckDB CLI and other clients. #> ℹ Run duckdb(shared_home = FALSE) to use a temporary directory instead. #> ℹ See ?duckdb_storage for details and alternatives. DBI::dbGetQuery(con, " SELECT p25_sexo, COUNT(*) AS total, ROUND(AVG(p26_edad), 1) AS edad_prom FROM personas GROUP BY p25_sexo ORDER BY p25_sexo ") |> etiquetar_valores() #> p25_sexo total edad_prom #> 1 Mujer 63355 25.8 #> 2 Hombre 70839 27.1 DBI::dbDisconnect(con, shutdown = TRUE) ``` ## Censos históricos Para acceder a censos anteriores al 2024, usa `get_censo()` o las funciones cortas por año: ``` r # API genérica: el argumento `anio` cubre 1976, 1992, 2001, 2012 y 2024 get_censo(2012, "persona", departamento = "07") get_censo(1992, "vivienda", departamento = "La Paz") get_censo(2024, "persona", departamento = "07") # = get_personas_2024() # Funciones cortas equivalentes get_personas_2012(departamento = "07") get_viviendas_1992(departamento = "La Paz") # Codebook para censos históricos codebook_2012(buscar = "educacion") codebook_1976() # ver todas las variables del censo 1976 ``` Ver el artículo **[Censos históricos](https://lab-tecnosocial.github.io/censosbo/articles/censos-historicos.html)** para ejemplos completos. ## Gestión del caché ``` r # Guardar caché dentro del proyecto (recomendado) options(censosbo.cache_dir = "data/censosbo") ``` ``` r censosbo_cache_dir() #> [1] "/Users/alexojeda/Library/Caches/org.R-project.R/R/censosbo" ``` ``` r censosbo_cache_info() censosbo_cache_clear() ``` ## Fuente de datos y nota metodológica Los microdatos originales son publicados por el **Instituto Nacional de Estadística (INE) de Bolivia**: - **CPV-2024**: - **Censos históricos 1976–2012**: Los archivos originales se distribuyeron en formatos heterogéneos y fueron transformados a **Parquet** (compresión zstd nivel 6) para su distribución en este paquete: | Censo | Formato original | Conversión | |-------|-----------------|------------| | 1976 | SPSS (`.sav`) | `haven` + `arrow` (R) | | 1992 | REDATAM (`.dic` binario + `.rbf`) | `open-redatam` CLI → CSV → `arrow` (R) | | 2001 | REDATAM (`.wxp` → `.dicX`) | conversión `.wxp`→`.dicX` + `open-redatam` CLI → CSV → `arrow` (R) | | 2012 | REDATAM (`.dic` binario + `.ptr`) | `open-redatam` CLI → CSV → `arrow` (R) | | 2024 | CSV delimitado por `;` (~3.6 GB total) | `readr` + `arrow` (R); persona particionada por departamento | El formato Parquet conserva todos los registros y variables originales sin modificación de valores. ## Siguientes pasos - **[Censos históricos](https://lab-tecnosocial.github.io/censosbo/articles/censos-historicos.html)**: acceso a datos de 1976, 1992, 2001 y 2012. - **[Análisis temporal](https://lab-tecnosocial.github.io/censosbo/articles/analisis-temporal.html)**: comparar variables entre censos históricos. - **[Análisis demográfico](https://lab-tecnosocial.github.io/censosbo/articles/analisis-demografico.html)**: pirámide de edades, nivel educativo, alfabetismo. - **[Análisis de vivienda](https://lab-tecnosocial.github.io/censosbo/articles/analisis-vivienda.html)**: agua, energía, hacinamiento, joins personas-viviendas. - **[Manzanos y comunidades](https://lab-tecnosocial.github.io/censosbo/articles/manzanos-comunidades.html)**: el CPV-2024 por unidad censal, el nivel más fino disponible. - **[Análisis avanzado](https://lab-tecnosocial.github.io/censosbo/articles/analisis-avanzado.html)**: DuckDB, Arrow, datos más grandes que la RAM. - **[Visualización en mapas](https://lab-tecnosocial.github.io/censosbo/articles/visualizacion-mapas.html)**: mapas coropléticos por departamento y municipio. ## Cómo citar ``` r citation("censosbo") #> To cite package 'censosbo' in publications use: #> #> Ojeda Copa A (2026). _censosbo: Access and Analysis of Bolivian #> Census Microdata_. Lab TecnoSocial, Cochabamba, Bolivia. R package #> version 2.0.0, . #> #> A BibTeX entry for LaTeX users is #> #> @Manual{, #> title = {censosbo: Access and Analysis of Bolivian Census Microdata}, #> author = {Alex {Ojeda Copa}}, #> organization = {Lab TecnoSocial}, #> address = {Cochabamba, Bolivia}, #> year = {2026}, #> note = {R package version 2.0.0}, #> url = {https://lab-tecnosocial.github.io/censosbo/}, #> } ```