Skip to contents

Convierte los códigos numéricos de las columnas categóricas en factores con las etiquetas en español del diccionario oficial del INE. Detecta automáticamente el censo (1976, 1992, 2001, 2012 o 2024) a partir de los nombres de columna del data frame.

Usage

etiquetar_valores(df, columnas = NULL, anio = NULL)

Arguments

df

Un data.frame (resultado de `collect()`, `DBI::dbGetQuery()` u otro).

columnas

Vector de caracteres con los nombres de columnas a etiquetar. Si `NULL` (por defecto), etiqueta todas las columnas categóricas presentes.

anio

Entero. Año del censo: `1976`, `1992`, `2001`, `2012` o `2024`. Si `NULL` (por defecto), se detecta automáticamente a partir de los nombres de columna del data frame.

Value

El mismo `df` con las columnas categóricas convertidas a `factor` con las etiquetas del diccionario. Las columnas no encontradas en el diccionario se devuelven sin cambios.

Details

La detección automática del censo funciona comparando los nombres de columna del data frame con los de cada codebook. Dado que cada censo usa una convención de nombrado única (p.ej. `p25_sexo` en 2024 vs `P25` en 1992), la detección es confiable incluso después de `count()` o `filter()`.

Los valores que no coinciden con ningún código del diccionario (incluyendo `NA`) quedan como `NA` en el factor resultante. Para ver los códigos disponibles de una variable usa `codebook_valores()`.

Con datos de [get_temporal()] / [get_temporal_vivienda()] se usan las etiquetas **armonizadas** (no las de un censo concreto). Esto se detecta por la columna `anio`; conviene conservarla al resumir. Para variables cuyo nombre también existe como columna cruda (`nivel_edu`, `area`, `pea`, `pet`), la columna `anio` es necesaria para distinguir datos temporales de datos crudos del CPV-2024.

Para volver de etiquetas a códigos: “`r as.integer(df$p25_sexo) # → 1, 2 as.character(df$p25_sexo) # → "Mujer", "Hombre" “`

See also

[etiquetar_variables()] para renombrar columnas con sus descripciones.

Examples

# Censo 2024 — detección automática
if (FALSE) { # \dontrun{
get_personas_2024(departamento = "Pando", as = "tibble") |>
  etiquetar_valores() |>
  head(3)
} # }

# Censo 1992 — detección automática
if (FALSE) { # \dontrun{
get_personas_1992(departamento = "07", as = "tibble") |>
  dplyr::count(P25) |>
  etiquetar_valores()
} # }

# Año explícito como escape hatch
if (FALSE) { # \dontrun{
df |> etiquetar_valores(anio = 1992)
} # }