{territorial}: un paquete de R para trabajar con datos de comunas y regiones de Chile
Herramientas para facilitar el procesamiento de datos de comunas y regiones de Chile con R
27/6/2026
El objetivo de este paquete es entregar numerosas funciones para simplificar el análisis de datos territoriales de Chile, facilitando tareas de limpieza y procesamiento de datos que suelen ser necesarias al trabajar con datos de Chile a nivel comunal y regional.
Los datos públicos sobre temáticas sociales siempre vienen en dudosa calidad, sobre todo cuando se refieren a comunas: nombres mal escritos, en mayúsculas, sin eñes, sin tildes, etc. Así que creé {territorial} para facilitar este tipo de tareas!
Por ejemplo:
- Revisar si los nombres de comunas y regiones vienen bien escritos (
validar_comunas()yvalidar_regiones()) - Limpiar los nombres de las comunas automáticamente con
limpiar_comunas(), incluso si vienen con faltas de ortografía o mal escritas - Agregar todos los datos territoriales (regiones y provincias con sus códigos únicos) a partir de las comunas (
contextualizar()) - Convertir nombres de comunas a
códigos únicos territoriales (
as_codigo_comuna()) y viceversa (as_nombre_comuna()) - Ordenar las regiones del país de norte a sur (
ordenar_regiones()) - Redactar los nombres de las regiones (
redactar_region()) para que, por ejemplo, “Maule” sea “Región del Maule” - Clasificar las comunas de Chile en urbanas, mixtas y rurales con
agregar_clasificacion() - Clasificar las regiones de Chile en macrozonas con
agregar_macrozona() - Abreviar las comunas de Chile a siglas de tres caracteres con
abreviar_comunas() - y más!
Revisa la viñeta vignette("territorial") para una introducción!
Instalación
Puedes instalar la versión de desarrollo1 desde GitHub:
# install.packages("pak")
pak::pak("bastianolea/territorial")
Usando {territorial}
Como su nombre lo dice, {territorial} entrega varias herramientas para trabajar con datos territoriales de Chile, principalmente sus regiones o comunas.
library(territorial)
La premisa del paquete es que tenemos una tabla (territorial::territorios) que contiene los nombres oficiales y los códigos únicos territoriales de todas las regiones, provincias y comunas de Chile.
También se plantea el estándar de llamar las columnas territoriales como nombre_{x} y codigo_{x} (por ejemplo, nombre_comuna y codigo_comuna), para mantener orden y compatibilidad de datos (pero es sólo una sugerencia).
Probemos {territorial} con una tabla con datos de ejemplo:
# crear una tabla con datos de ejemplo
datos <- dplyr::tibble(
nombre_comuna = c("PIRQUE", "El Monte", "Maipu", "nunoa",
"santiago", "prohibidencia", "CERRILLOS",
"San José De Maipo", "OHiggins")
)
datos
# A tibble: 9 × 1
nombre_comuna
<chr>
1 PIRQUE
2 El Monte
3 Maipu
4 nunoa
5 santiago
6 prohibidencia
7 CERRILLOS
8 San José De Maipo
9 OHiggins
Estas comunas vienen en mayúsculas, con faltas de ortografía, y mal escritas!
Si tienes datos comunales de Chile, puedes revisar la calidad de sus comunas con validar_comunas(), para detectar posibles problemas:
datos |>
validar_comunas(nombre_comuna) # cuando la columna con nombres de comunas se llama `nombre_comuna`, no es necesario especificarla
ℹ Validando calidad de nombres de comuna desde tabla de datos
! Resumen: 8 casos de comunas que no conciden con comunas correctamente escritas (ver `territorial::comunas()`): PIRQUE, Maipu, nunoa, santiago, prohibidencia, CERRILLOS, San José De Maipo y OHiggins
! Mayúsculas: 2 casos de comunas escritas en mayúsculas: PIRQUE y CERRILLOS
! Minúsculas: 3 casos de comunas escritas en minúsculas: nunoa, santiago y prohibidencia
! Mayúsculas: 1 caso de comunas con preposiciones ('de', 'del') escritas en mayúsculas: San José De Maipo
ℹ Tildes: 1 caso de comunas que deberían tener tildes y no los tienen: Maipu
ℹ Eñes: 1 caso de comunas escritas sin eñe: nunoa
ℹ Problemas comunes: 1 caso de comunas popularmente mal escritas: OHiggins
✖ Validación de comunas: se encontraron 17 problemas con las comunas! Usa `territorial::limpiar_comunas()` para solucionarlos.
También puedes limpiar automáticamente las comunas con limpiar_comunas(), y obtener una columna con las comunas correctas (que salen de la tabla territorial::territorios), obtenidas por medio de varias técnicas de limpieza de datos:
datos |>
limpiar_comunas(nombre_comuna)
ℹ Limpiando 9 nombres de comunas (9 son distintas)
── Paso 1: confirmar comunas correctas
ℹ De las 9 comunas distintas, 1 ya eran correctas: El Monte
── Paso 2: coincidencias por limpieza de texto
ℹ A partir de la limpieza de texto, se limpiaron 8 de 9 comunas: Pirque, El Monte, Maipú, Ñuñoa, Santiago, Cerrillos, San José de Maipo y O'Higgins
── Paso 3: casos especiales
ℹ Se encontraron 0 casos especiales:
── Paso 4: coincidencias aproximadas de texto
ℹ Se limpiaron 1 de 1 comunas por medio de coincidencias aproximadas de texto: Providencia
── Conclusión de limpieza de comunas
✔ De las 9 comunas distintas, se limpiaron 9 en total (100%)
# A tibble: 9 × 1
nombre_comuna
<chr>
1 Pirque
2 El Monte
3 Maipú
4 Ñuñoa
5 Santiago
6 Providencia
7 Cerrillos
8 San José de Maipo
9 O'Higgins
Si necesitamos agregar variables territoriales faltantes a una tabla de datos que solamente tiene las comunas o los códigos únicos territoriales de Chile (vignette(codigos_unicos_territoriales)), podemos usar contextualizar() para agregar rápidamente todas las columnas territoriales que falten.
datos <- dplyr::tribble(
~nombre_comuna, ~poblacion,
"Puente Alto", 1,
"La Florida", 1,
"La Granja", 1,
"San Joaquín", 1)
datos |>
contextualizar(nombre_comuna)
ℹ columnas agregadas: codigo_region, nombre_region, codigo_provincia, nombre_provincia y codigo_comuna
# A tibble: 4 × 7
codigo_region nombre_region codigo_provincia nombre_provincia codigo_comuna
<dbl> <chr> <dbl> <chr> <dbl>
1 13 Metropolitana d… 132 Cordillera 13201
2 13 Metropolitana d… 131 Santiago 13110
3 13 Metropolitana d… 131 Santiago 13111
4 13 Metropolitana d… 131 Santiago 13129
# ℹ 2 more variables: nombre_comuna <chr>, poblacion <dbl>
Así, un dataframe que solamente tiene nombres de comuna puede pasar a tener todas las demás variables que descrien territorialmente a esos datos.
Estas son algunas de las funciones principales, pero existen muchas más que facilitan el trabajo con datos territoriales de Chile: revisa el índice!
Publicaciones sobre Chile
Paquete desarrollado bajo el programa de Campeones de ROpenSci, con el apoyo de mi mentora Andrea Gómez Vargas
-
El paquete está en etapa de desarrollo. Si bien es funcional y útil en este momento, sus funciones pueden cambiar en futuras versiones, y su estabilidad aún no está garantizada. ↩︎
