Mapa de México

No sabía cómo mostraros el funcionamiento de getData del paquete raster para evitaros ir a GADM y descargar los correspondientes mapas. Bueno, pues se me ha ocurrido hacer una entrada que tenga el menor número de líneas posibles y que genere un mapa. No me lo tengáis mucho en cuenta:

library(ggplot2)
library(raster)
library(dplyr)

# Obtenemos el mapa de GADM
mex <- getData("GADM", country = "MX", level = 2)

# El dato que vamos a pintar
prov <- data.frame(region = unique(mex@data$NAME_2))
prov$aleatorio <- runif(nrow(prov), 0, 100)

# Creamos el objeto mapa al que le añadimos el dato que necesitamos pintar
mex_map <- fortify(mex, region = "NAME_2")
mex_map <- left_join(mex_map, prov, by = c("id" = "region"))

# Pintamos el mapa
ggplot(data = mex_map, aes(x = long, y = lat, group = group)) +
  geom_polygon(aes(fill = aleatorio)) +
  scale_fill_continuous(low = "white", high = "blue") +
  labs(title = "Quick and dirty") +
  theme_void()

Ahí lo tenéis: getData se conecta a GADM donde vía ISO 3 le decimos qué mapa queremos y el nivel que queremos, y pintamos un mapa de México con ggplot2 en un pis pas. Comentad si no entendéis algo; hay miles de entradas que hacen lo mismo de forma más detallada, pero en menos líneas, ninguna. Saludos.