Este taller desarrolla una exploración geográfica de la base
world del paquete spData en RStudio. Se
revisan los registros, se representan límites nacionales y variables
socioeconómicas, se cambia la proyección cartográfica y se seleccionan
países de Sudamérica. El objetivo es comprender cómo se relacionan las
geometrías con sus atributos y cómo comunicar esa información mediante
mapas.
Se cargaron tres bibliotecas: sf, para manejar
información espacial; ggplot2, para elaborar mapas; y
dplyr, para seleccionar y organizar los datos. Después se
cargó explícitamente la base world del paquete
spData. Esta instrucción permite que el documento encuentre
los datos al ejecutarse desde el inicio y corrige el error «objeto world
no encontrado».
La configuración inicial muestra el código y oculta mensajes de carga para facilitar la lectura del documento.
Sentido geográfico del proceso. La información se organiza en unidades territoriales: cada país tiene una geometría y atributos asociados. Esta relación permite localizar fenómenos y comparar sus distribuciones. La unidad de análisis es el país y el alcance es mundial; por ello, el ejercicio describe diferencias entre territorios nacionales.
knitr::opts_chunk$set(echo = TRUE, message = FALSE, warning = FALSE)
library(sf)
## Linking to GEOS 3.14.1, GDAL 3.12.1, PROJ 9.7.1; sf_use_s2() is TRUE
library(ggplot2)
library(dplyr)
##
## Adjuntando el paquete: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
data("world", package = "spData")
| Herramienta | Función en el procesamiento |
|---|---|
spData |
Proporciona la base espacial world, cargada mediante
data(). |
sf |
Maneja geometrías, extrae los contornos y transforma el sistema de coordenadas. |
dplyr |
Selecciona los países de Sudamérica mediante
filter(). |
ggplot2 |
Construye los mapas temáticos y organiza sus colores, títulos y leyendas. |
| R base | Permite revisar registros con head() y elaborar mapas
con plot(). |
knitr y rmarkdown |
Ejecutan el código e integran texto, tablas y mapas en el documento HTML. |
Se consultaron los primeros cinco registros con
head(world, 5). Esta revisión permite reconocer los nombres
de los países, sus atributos y la columna de geometría, que almacena su
representación espacial. No se modificaron los datos originales.
Sentido geográfico del proceso. Se reconoce la relación entre el territorio representado y la información que lo caracteriza. La inspección de cinco filas es una revisión inicial, no una validación completa de la calidad de la base. Antes de una investigación se deben verificar la fecha, las unidades, los datos faltantes y el sistema de referencia de todas las capas utilizadas.
head(world, 5)
## Simple feature collection with 5 features and 10 fields
## Geometry type: MULTIPOLYGON
## Dimension: XY
## Bounding box: xmin: -180 ymin: -18.28799 xmax: 180 ymax: 83.23324
## Geodetic CRS: WGS 84
## # A tibble: 5 × 11
## iso_a2 name_long continent region_un subregion type area_km2 pop lifeExp
## <chr> <chr> <chr> <chr> <chr> <chr> <dbl> <dbl> <dbl>
## 1 FJ Fiji Oceania Oceania Melanesia Sove… 1.93e4 8.86e5 70.0
## 2 TZ Tanzania Africa Africa Eastern … Sove… 9.33e5 5.22e7 64.2
## 3 EH Western S… Africa Africa Northern… Inde… 9.63e4 NA NA
## 4 CA Canada North Am… Americas Northern… Sove… 1.00e7 3.55e7 82.0
## 5 US United St… North Am… Americas Northern… Coun… 9.51e6 3.19e8 78.8
## # ℹ 2 more variables: gdpPercap <dbl>, geom <MULTIPOLYGON [°]>
Se extrajo la geometría con st_geometry() y se dibujaron
los límites de los países. Este primer mapa permite revisar visualmente
la distribución de las unidades espaciales antes de representar una
variable temática. El relleno gris es uniforme y no expresa diferencias
estadísticas.
Sentido geográfico del proceso. Los polígonos muestran la organización político-territorial y permiten reconocer posiciones relativas, extensión y vecindad entre países. Los límites administrativos definen las unidades de comparación, pero no representan necesariamente las fronteras de ecosistemas o regiones culturales. El mapa ofrece un contexto de localización para los análisis posteriores.
plot(st_geometry(world), col = "grey90", border = "grey40",
main = "Países del mundo")
Se seleccionó la variable lifeExp, correspondiente a la
esperanza de vida al nacer, y se representó con la función básica
plot(). Los colores permiten comparar los valores
contenidos en la base entre países. Se trata de una exploración
descriptiva y no de una explicación de sus causas.
Sentido geográfico del proceso. El mapa temático permite explorar la distribución territorial de un indicador demográfico y formular preguntas sobre diferencias regionales. Cada valor resume un país y puede ocultar desigualdades internas entre ciudades, áreas rurales o grupos de población. La cercanía visual de valores similares no demuestra por sí sola una relación espacial estadísticamente significativa.
plot(world["lifeExp"], main = "Esperanza de vida al nacer")
Se elaboró una segunda versión con ggplot2 y
geom_sf(). El color de cada país se vinculó a
lifeExp, se agregó una leyenda en años y se aplicó un
diseño sencillo. Los países sin información aparecen en gris: ese color
indica ausencia de datos, no una esperanza de vida baja.
Sentido geográfico del proceso. La simbología convierte los valores en una lectura espacial comprensible. La leyenda permite interpretar el color y distinguir diferencias de magnitud; el título y la fuente sitúan el contenido. La mayor superficie visual de un país puede atraer más atención, aunque el indicador sea un promedio y no una cantidad total de población.
ggplot(world) +
geom_sf(aes(fill = lifeExp), color = "white", linewidth = 0.1) +
scale_fill_viridis_c(name = "Años", na.value = "grey85") +
labs(title = "Esperanza de vida por país", caption = "Fuente: spData::world") +
theme_minimal()
Se transformaron las geometrías a la proyección Equal Earth mediante
st_transform(). Esta proyección conserva las proporciones
de superficie, lo que favorece la comparación visual de áreas en un mapa
mundial. La transformación cambia las coordenadas de representación, sin
modificar los valores socioeconómicos.
Después se representó gdpPercap, el PIB por habitante de
la base, con una escala de color logarítmica. Esta escala facilita
visualizar diferencias cuando existen valores muy separados; la leyenda
mantiene su interpretación en dólares por habitante. El gris identifica
países sin datos.
Sentido geográfico del proceso. Elegir una proyección forma parte del análisis: representar una superficie curva en un plano implica distorsiones. Equal Earth conserva áreas relativas, aunque no conserva todas las formas, distancias y direcciones. El PIB por habitante permite comparar una dimensión económica entre países, pero no muestra la distribución interna del ingreso. Comparar este mapa con el de esperanza de vida permite plantear preguntas; establecer relaciones requiere análisis adicionales y comprobar la compatibilidad temporal de los indicadores.
world_ee <- st_transform(world, "+proj=eqearth")
ggplot(world_ee) +
geom_sf(aes(fill = gdpPercap), color = "white", linewidth = 0.1) +
scale_fill_viridis_c(name = "PIB per cápita (USD)", trans = "log10",
na.value = "grey85") +
labs(title = "PIB per cápita en proyección Equal Earth",
caption = "Fuente: spData::world") +
theme_minimal()
Se filtraron los países cuyo atributo continent
corresponde a Sudamérica. Luego se identificó a Colombia mediante
name_long y se resaltó en rojo, mientras los demás países
se dejaron en gris. El resultado permite ubicar a Colombia dentro del
continente mediante los límites nacionales disponibles en la base.
Sentido geográfico del proceso. Se pasa de una vista mundial a un encuadre continental para facilitar la orientación del lector. El filtro selecciona países por un atributo, sin recortar sus geometrías. Resaltar a Colombia establece un referente de localización y permite reconocer su posición respecto de los demás países sudamericanos. El nivel de detalle corresponde a una representación de países.
sudam <- world |> filter(continent == "South America")
ggplot(sudam) +
geom_sf(aes(fill = name_long == "Colombia"), color = "grey30") +
scale_fill_manual(values = c("grey85", "firebrick"), guide = "none") +
labs(title = "Sudamérica con Colombia resaltada",
caption = "Fuente: spData::world") +
theme_minimal()
El archivo se procesa con Knit en RStudio. Durante este proceso se ejecutan los bloques de código en orden y se integran las explicaciones, la tabla y los mapas en un documento HTML. Si algún bloque produce un error, debe corregirse antes de completar la salida.
Sentido geográfico del proceso. La presentación conjunta de datos, procedimientos y mapas permite revisar cómo se construyó cada representación territorial. La revisión final debe comprobar que título, variable, unidades, ámbito espacial y fuente coincidan con lo mostrado. Un mapa de localización orienta al lector; un mapa temático representa una variable. El ejercicio realiza una exploración descriptiva de los atributos disponibles, sin analizar cambios temporales.
Los mapas corresponden a los datos de ejemplo de
spData::world. Su utilidad en este taller es mostrar la
secuencia de carga, inspección, representación, transformación y
selección espacial. La fecha de elaboración del documento no representa
el año de observación de los indicadores de la base.
Las siguientes referencias se obtienen de las citas recomendadas por R y por las versiones instaladas de los paquetes utilizados en el procesamiento.
R Core Team (2026). R: A Language and Environment for Statistical Computing. R Foundation for Statistical Computing, Vienna, Austria. doi:10.32614/R.manuals https://doi.org/10.32614/R.manuals. https://www.R-project.org/.
Bivand R, Nowosad J, Lovelace R (2026). spData: Datasets for Spatial Analysis. doi:10.32614/CRAN.package.spData https://doi.org/10.32614/CRAN.package.spData. R package version 2.3.5, https://CRAN.R-project.org/package=spData.
Pebesma E, Bivand R (2023). Spatial Data Science: With applications in R. Chapman and Hall/CRC. doi:10.1201/9780429459016 https://doi.org/10.1201/9780429459016. https://r-spatial.org/book/.
Pebesma E (2018). “Simple Features for R: Standardized Support for Spatial Vector Data.” The R Journal, 10(1), 439-446. doi:10.32614/RJ-2018-009 https://doi.org/10.32614/RJ-2018-009. https://doi.org/10.32614/RJ-2018-009.
Wickham H (2016). ggplot2: Elegant Graphics for Data Analysis. Springer-Verlag New York. ISBN 978-3-319-24277-4. https://ggplot2.tidyverse.org.
Wickham H, François R, Henry L, Müller K, Vaughan D (2026). dplyr: A Grammar of Data Manipulation. doi:10.32614/CRAN.package.dplyr https://doi.org/10.32614/CRAN.package.dplyr. R package version 1.2.1, https://CRAN.R-project.org/package=dplyr.
Xie Y (2026). knitr: A General-Purpose Package for Dynamic Report Generation in R. R package version 1.52, https://yihui.org/knitr/.
Xie Y (2015). Dynamic Documents with R and knitr, 2nd edition. Chapman and Hall/CRC, Boca Raton, Florida. ISBN 978-1498716963, https://yihui.org/knitr/.
Xie Y (2014). “knitr: A Comprehensive Tool for Reproducible Research in R.” In Stodden V, Leisch F, Peng RD (eds.), Implementing Reproducible Computational Research. Chapman and Hall/CRC. ISBN 978-1466561595.
Allaire J, Xie Y, Dervieux C, McPherson J, Luraschi J, Ushey K, Atkins A, Wickham H, Cheng J, Chang W, Iannone R (2026). rmarkdown: Dynamic Documents for R. R package version 2.32, https://github.com/rstudio/rmarkdown.
Xie Y, Allaire J, Grolemund G (2018). R Markdown: The Definitive Guide. Chapman and Hall/CRC, Boca Raton, Florida. ISBN 9781138359338. https://pkg.yihui.org/rmarkdown-book/.
Xie Y, Dervieux C, Riederer E (2020). R Markdown Cookbook. Chapman and Hall/CRC, Boca Raton, Florida. ISBN 9780367563837. https://pkg.yihui.org/rmarkdown-cookbook/.