En esta ocasión, vamos a realizar nuestros primeros mapas en R utilizando la librería sf (simple features).
Para ello, utilizaremos los archivos shape del continente americano y de las entidades federativas de México (estados).
Cuando no tenemos instalada la librería _“sf procedemos a instalarla mediante el siguiente comando:
Una vez instalada la librería, se activa en nuestro script.
Ahora llamaremos nuestro primer archivo vectorial, el del continente americano.
Revisamos el Sistema de Referencia de Coordenadas de nuestro objeto america
## Coordinate Reference System:
## User input: WGS 84
## wkt:
## GEOGCRS["WGS 84",
## DATUM["World Geodetic System 1984",
## ELLIPSOID["WGS 84",6378137,298.257223563,
## LENGTHUNIT["metre",1]]],
## PRIMEM["Greenwich",0,
## ANGLEUNIT["degree",0.0174532925199433]],
## CS[ellipsoidal,2],
## AXIS["latitude",north,
## ORDER[1],
## ANGLEUNIT["degree",0.0174532925199433]],
## AXIS["longitude",east,
## ORDER[2],
## ANGLEUNIT["degree",0.0174532925199433]],
## ID["EPSG",4326]]
Como puedes ver, el SRC del archivo shape es WGS 84 código EPSG: 4326.
Vamos a revisar ahora el contenido del archivo shape
Podemos ponerle un título y sus ejes con coordenadas:
Otra forma de presentar el mapa es la siguiente:
Podemos cambiar el relleno y el borde del mapa con la adición de las siguientes instrucciones:
Ahora vamos a adicionar los centroides de cada país
plot(st_geometry(america), col= sf.colors(12, categorical = TRUE),
border = "blue", axes = TRUE)
plot(st_geometry(st_centroid(america)), pch = 1, col = 'black', add = TRUE)Vamos a separar a Mexico a partir del objeto america.
Vamos a ponerle título:
Ahora le ponemos sus ejes con coordenadas.
Obtenemos Perú a partir de america
Vamos a presentar ahora ambos países en su contexto continental:
plot(st_geometry(america), axes=TRUE)
plot(st_geometry(mexico), col = "blue", add = TRUE) # Aparecerá México en color azul.
plot(st_geometry(peru), col = "green", add = TRUE) # Aparecerá Perú en color verde.También podemos presentar a México y Perú en un solo mapa aislados:
Vamos a adicionar el grid a nuestro mapa:
Adicionamos relleno a los polígonos
ggplot2 es una potente librería de R que permite hacer gráficos y mapas de muy alta calidad.
Lo primero que tenemos que hacer es instalar la librería y posteriormente, activarla en nuestro script.
Vamos a hacer ahora nuestros mapas:
mx <- ggplot() + geom_sf(data = mexico)
pe <- ggplot() + geom_sf(data = peru)
dos_paises_a <- ggplot() + geom_sf(data = dos_paises)Presentemos ahora los mapas
Daremos ahora un poco más de formato a nuestro mapa:
ggplot() + geom_sf(data = dos_paises, aes(fill = PAÍS)) +
guides(fill = guide_legend(title = "País"))Cambiando el tema
ggplot() + geom_sf(data = dos_paises, aes(fill = PAÍS)) +
guides(fill = guide_legend(title = "País")) +
theme_dark()Otro tema:
ggplot() + geom_sf(data = dos_paises, aes(fill = PAÍS)) +
guides(fill = guide_legend(title = "País")) +
theme_classic()Un tema más:
ggplot() + geom_sf(data = dos_paises, aes(fill = PAÍS)) +
guides(fill = guide_legend(title = "País")) +
theme_light()Y finalmente, probemos otro tema:
ggplot() + geom_sf(data = dos_paises, aes(fill = PAÍS)) +
guides(fill = guide_legend(title = "País")) +
theme_bw()Llamemos el archivo vectorial.
Vamos a crear cuatro mapas temáticos basados en la población total, total femenina, total masculina y económicamente activa
femenina <- plot(estatal["POBFEM"], main="Población total femenina", breaks = "jenks", pal = hcl.colors(10) )Vamos a crear un campo que se llame “Area” y calcularemos el área de cada entidad federativa.
Las unidades con las que se crea el mapa son metros cuadrados. Esto se puede verificar en el último campo de la tabla de atributos:
Por lo tanto, debemos obtener el área en kilómetros cuadrados.
Ahora hacemos un mapa graduado por área de entidad federativa
Esperamos que estos primeros pasos sean de utilidad para crear tus primeros mapas en R.