R es un lenguaje de programación muy popular en el análisis de datos y la visualización, y cuenta con varias librerías especializadas para la visualización de datos geográficos. Aquí se describen algunas de las principales librerías utilizadas en este campo:

{sf} (Simple Features)

La librería {sf} es una de las más modernas y populares para el manejo de datos espaciales en R. Está basada en el estándar Simple Features de OGC (Open Geospatial Consortium). Proporciona una manera sencilla y eficiente de manipular y analizar datos geoespaciales. {sf} permite leer, escribir, y manipular datos espaciales y ofrece una integración fluida con otras librerías de visualización, como {ggplot2}.

library(sf)
## Linking to GEOS 3.11.0, GDAL 3.5.3, PROJ 9.1.0; sf_use_s2() is TRUE
world <- st_read(system.file("shape/nc.shp", package = "sf"))
## Reading layer `nc' from data source 
##   `/Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/library/sf/shape/nc.shp' 
##   using driver `ESRI Shapefile'
## Simple feature collection with 100 features and 14 fields
## Geometry type: MULTIPOLYGON
## Dimension:     XY
## Bounding box:  xmin: -84.32385 ymin: 33.88199 xmax: -75.45698 ymax: 36.58965
## Geodetic CRS:  NAD27
plot(world)
## Warning: plotting the first 10 out of 14 attributes; use max.plot = 14 to plot
## all

{sp} (Spatial)

La librería {sp} es una de las más antiguas y establecidas para el manejo de datos espaciales en R. Proporciona clases y métodos para puntos, líneas, polígonos y cuadrículas espaciales. Aunque algunas de sus funcionalidades han sido superadas por {sf}, {sp} sigue siendo muy utilizada y es la base de muchas otras librerías de R que manejan datos espaciales.

library(sp)
data(meuse)
coordinates(meuse) <- ~x+y
plot(meuse)

{cartogram}

La librería {cartogram} se utiliza para crear cartogramas, que son mapas en los que las geometrías de las regiones se distorsionan para reflejar una variable específica, como la población. {cartogram} permite la creación de varios tipos de cartogramas, incluyendo cartogramas continuos y cartogramas de desplazamiento.

library(cartogram)
library(sf)
nc <- st_read(system.file("shape/nc.shp", package="sf"), quiet = TRUE) %>% 
  st_transform(crs = 2163)
nc_cartogram <- cartogram_cont(nc, "BIR74")
plot(nc_cartogram)
## Warning: plotting the first 9 out of 14 attributes; use max.plot = 14 to plot
## all

{leaflet}

{leaflet} es una poderosa librería para crear mapas interactivos en R. Está basada en la popular librería Leaflet de JavaScript y permite la creación de mapas con características interactivas como zoom, pop-ups y capas personalizables. Es ideal para visualizar datos espaciales de manera dinámica y atractiva.

library(leaflet)
leaflet() %>%
  addTiles() %>%
  addMarkers(lng = 174.768, lat = -36.852, popup = "The birthplace of R")

{mxmaps}

{mxmaps} es una librería especializada en la creación de mapas de México. Facilita la visualización de datos a nivel estatal y municipal en México, ofreciendo funciones específicas para cargar y manipular estos datos geográficos.

Esta librería se instala con el siguiente código:

if (!require(devtools)) {install.packages("devtools")}
devtools::install_github('diegovalle/mxmaps')

Un primer ejemplo: s

library(mxmaps)
data("df_mxmunicipio_2020")
df_mxmunicipio_2020$value <-  df_mxmunicipio_2020$indigenous_language / df_mxmunicipio_2020$pop 
mxmunicipio_choropleth(df_mxmunicipio_2020, num_colors = 1,
                       title = "Porcentaje de la población que habla una lengua indígena")

Cada una de estas librerías tiene sus propias fortalezas y se puede elegir en función de las necesidades específicas del proyecto. Por ejemplo, {sf} y {sp} son excelentes para el análisis y manipulación de datos espaciales, mientras que {leaflet} es ideal para la creación de mapas interactivos. {cartogram} es perfecto para la visualización de datos con distorsión geográfica y {mxmaps} es una opción especializada para trabajos relacionados con la geografía de México.