Skip to contents

Descarga y/o carga desde caché los datos de personas del Censo de Población y Vivienda 2024 de Bolivia, con filtros geográficos opcionales.

Usage

get_personas_2024(
  departamento = NULL,
  provincia = NULL,
  municipio = NULL,
  variables = NULL,
  as = c("arrow", "tibble", "duckdb"),
  overwrite = FALSE,
  verbose = TRUE
)

Arguments

departamento

Vector de caracteres. Código(s) de departamento (`"01"`-`"09"`) o nombre(s) (e.g., `"La Paz"`, `"Santa Cruz"`). Si `NULL`, incluye todos los departamentos (descarga ~500 MB).

provincia

Vector de caracteres. Código(s) de provincia. Si `NULL`, incluye todas.

municipio

Vector de caracteres. Código(s) de municipio. Si `NULL`, incluye todos.

variables

Vector de caracteres. Nombres de columnas a seleccionar. Si `NULL`, devuelve todas (118 columnas). Las columnas geográficas (`idep`, `iprov`, `imun`, `i00`) siempre se incluyen.

as

Formato de retorno: `"arrow"` (Dataset Arrow, por defecto — lazy, no carga en RAM), `"tibble"` (trae a memoria RAM; precaución con datos grandes), o `"duckdb"` (conexión DBI activa con tabla `"personas"`).

overwrite

Lógico. Si `TRUE`, re-descarga aunque exista en caché.

verbose

Lógico. Mostrar mensajes de progreso. Por defecto `TRUE`.

Value

Según `as`: - `"arrow"`: un `arrow::Dataset` (lazy, soporta dplyr y Arrow) - `"tibble"`: un `data.frame` con los datos en RAM - `"duckdb"`: una conexión `DBI` con tabla `"personas"` registrada; recuerda cerrarla con `DBI::dbDisconnect(con)`.

Details

Los datos se descargan por departamento bajo demanda. Especificando `departamento = "07"` solo se descarga `persona_dep07.parquet` (~155 MB). Sin especificar departamento se descargan los 9 archivos (~560 MB en total).

El caché se almacena en `censosbo_cache_dir()`. Usa `censosbo_cache_info()` para ver los archivos descargados.

Para censos históricos usa [get_censo()] o los atajos [get_personas_1992()], [get_personas_2001()], [get_personas_2012()].

Examples

if (FALSE) { # \dontrun{
# Datos de Santa Cruz como Arrow Dataset (lazy)
personas_sc <- get_personas_2024(departamento = "Santa Cruz")

# Filtrar y agregar sin traer a RAM
library(dplyr)
get_personas_2024(departamento = "07") |>
  filter(p26_edad >= 18) |>
  count(p25_sexo) |>
  collect()

# Seleccionar pocas variables
get_personas_2024(
  departamento = c("02", "03"),
  variables = c("p25_sexo", "p26_edad", "nivel_edu")
)

# Consulta SQL con DuckDB
con <- get_personas_2024(departamento = "07", as = "duckdb")
DBI::dbGetQuery(con, "SELECT p25_sexo, AVG(p26_edad) FROM personas GROUP BY 1")
DBI::dbDisconnect(con)

# Equivalente genérico
get_censo(2024, "persona", departamento = "07")
} # }