mapas

¿Por qué vivimos tantos españoles a tanta altitud?

Perdóneseme haber usado lenguaje causal en el título de esta entrada siendo así que no encontrará el lector indicios sólidos de respuesta en lo que sigue. Y, sobre todo, que no se confunda y me tome por un sociólogo a la violeta o un economista posmo: no, soy matemático. Quiero simplemente hacer constar un pequeño ejercicio de análisis espacial usando los paquetes sf y terra de R motivado, eso sí, por una pregunta que se planteó en cierto foro a raíz de esta captura de la Wikipedia:

Mi mapa provincial favorito

Mi mapa provincial de España favorito es este: O, en una versión más cruda, Cosas sobre él: Forma parte de la colección de mapas que provee el INE para su uso con en infausto PCAxis y puede descargarse de aquí (junto con muchos otros, casi todos convencionales y aburridos, mapas de España, sus regiones, provincias y municipios). Para facilitar su uso y, probablemente, infringiendo normas sobre la propiedad intelectual u otras, lo he colgado también aquí.

IGN + R + leaflet

Iba a escribir una entrada técnica al respecto, pero resulta que ya la había hecho hace un tiempo y no me acordaba. Solo quiero abundar en el tema para recordaros que si os interesa mostrar mapas de España vía leaflet, en lugar de usar las capas por defecto, que vaya a saber uno de dónde las sacan, uno siempre puede tirar de la cartografía oficial. Uno de los motivos puede ser que el mapa forme parte de una aplicación seria.

De "la fiebre amarilla de Cádiz y pueblos comarcanos" de 1800

Esta entrada está motivada, en última instancia, por la lectura del libro (muy recomendable, por otra parte), The Art of Statistics: Learning From Data, de David Spiegelhalter. Sus muchas virtudes hacen, por contraste, que relumbre particularmente un defecto característico de toda esa creciente literatura sobre el tema: su aburridor anglocentrismo. Que si el médico devenido asesino en serie, que si los cirujanos de Bristol, que si el manidísimo John Snow (que esta vez, en este libro, de casualidad, no aparece),…

Cartogramas con recmap

r
He construido que, obviamente no es la gran maravilla, basándome en Rectangular Statistical Cartograms in R: The recmap Package y usando library(rgdal) library(pxR) library(recmap) provs <- readOGR(dsn = "provincias/", layer = "Provincias") pobl <- as.data.frame(read.px("2852.px", encoding = "latin1"), use.codes = T) pobl2 <- as.data.frame(read.px("2852.px", encoding = "latin1")) pobl$nombre <- pobl2$Provincias pobl <- pobl[, c("Provincias", "nombre", "value")] colnames(pobl) <- c("COD_PROV", "nombre", "poblacion") pobl <- pobl[pobl$COD_PROV != "null",] pobl <- pobl[!pobl$COD_PROV %in% c("51", "52", "38", "07", "35"),] dat <- merge(provs, pobl, by = "COD_PROV", all.

Elecciones, mapas... y mi favorito

De entre lo bueno que pudan haber traído las últimas elecciones generales (las españolas de abril de 2019, para quien requiera mayor precisión) puede contarse una pequeña revolución en la cartografía electoral. Debemos agradecérselo al equipo de Kiko Llaneras en El País, que nos han regalado esto. Prueba de que las cosas han cambiado es que ha sido replicado en otros sitios, como este. [Nota: no sé si estoy cometiendo injusticias en el párrafo anterior por omisión o confusión en las prelaciones; si alguien dispone de más o mejor información sobre la intrahistoria de esas publicaciones, que me avise.

Leaflet con capas WMS de Correos, Catastro, etc.

r
Esta entrada es un subproducto del trabajo que pocería que he realizado estos días en caRtociudad. caRtociudad permite generar mapas estáticos al estilo de ggmap. Iba a poner algún ejemplo, pero los dejo para otro día. La cosa es que mejorando caRtociudad::get_cartociudad_map, se me ha pasado por la cabeza la posibilidad de realizar la integración no ya con ggmap sino con leaflet. Y así (¡probadlos!), para los códigos postales, library(leaflet) leaflet() %>% addTiles() %>% setView(-3.

España, Platón, Madrid

En 1871-1872 se publicó la primera edición de las obras completas de Platón traducidas al español. Hubo 500 suscriptores en toda España (que entonces incluía, recuérdese, Cuba, Puerto Rico y quién sabe si algún desafortunado lugar más). Y uno más de Uruguay, que solicitó dos copias. En total, 11 volúmenes de 250-350 páginas de texto no demasiado prieto. La distribución provincial de suscriptores fue: Ciertamente curiosa. Más información (incluida la lista de los suscriptores, tanto institucionales como privados), aquí.

#ardeAsturias, #ardeAvilés? Ah, ¡mierda!

#ardeAsturias #ardeAvilés? Ah, ¡mierda! Notas: Las imágenes están sacadas de aquí. La página es muy entretenida, pero no es exactamente lo que promete, como evidencia esta entrada. Si no has estado nunca en Avilés, igual no entiendes de qué va la cosa. La manera recomendable de solucionar el problema es problema es yendo: vale la pena.

Micromapas

Vienen a ser la versión geo de las sparklines. Por ejemplo, Notas: El gráfico anterior no es mío. El código (y datos) con el que se generó tampoco. Son de Susana Huedo, exalumna. Está basado (todo hay que decirlo) en código de terceros y debería acordarme de cuál de ellos. Pero no es el caso.

Cartuchos malbaratados

Me instan a hablar de que procede de aquí y donde se compara el precio de una cerveza en la plaza mayor de las capitales de provincia españolas (a propósito, ¿cuál es la plaza mayor de Zaragoza o Soria?). Dejando el resto (casi todas, de hecho) de las cuestiones de lado, nos centraremos en el gráfico. ¿Qué nos dice la teoría sobre gráficos como este? Primero, que de entre todas las estéticas (usando la nomenclatura propia de ggplot2), las que mejor captura el ojo son x e y.

Me too, me too!

Las alturas corresponden a una cierta potencia de la población residente en la correspondiente rejilla. Los datos son del SEDAC (Socioeconomic Data and Applications Center, Universidad de Columbia) y se pueden bajar gratis si te registras y rellenas un cuestionario tontaina. El código, library(ggplot2) options(expressions = 10000) dat <- read.table("dat/espp00ag.asc", skip = 6) dat <- as.matrix(dat) dat <- data.frame(y = as.numeric(row(dat)), x = as.numeric(col(dat)), pop = as.numeric(dat)) peninsula <- dat[dat$x > 200,] peninsula <- peninsula[peninsula$y < 250,] res <- ggplot() for (i in 1:max(peninsula$y)){ tmp <- peninsula[peninsula$y == i,] tmp$pop <- tmp$pop^0.