España

No son los picos, son los rangos

Me reencuentro con

tiempo después (fuente). Llaman la atención sobremanera los picos. Que no tienen otra razón de ser que un cambio en los rangos del eje horizontal.

Ahora la pregunta, de ejercicio: ¿cómo harías para representar esos datos para evitar esos artefactos (asumiendo escala lineal en el eje horizontal)?

De España a Dinamarca en dos pasos

De acuerdo con Eurostat, el IRPF recauda en España aproximadamente el 7.5% del PIB nacional; en Dinamarca, como el 25%. Los tipos impositivos en Dinamarca,

son más altos que los españoles, pero tampoco puede decirse que estén desaforadamente por encima.

En cualquier caso, ese salto (del 7.5% al 25%), puede descomponerse en dos partes. La primera, efecto de cambiar los tipos impositivos en España (sobre la actual distribución de la renta). La segunda, efecto de cambiar la distribución de la renta a otra que representase la danesa. O, por otra vía, aplicando primero los tipos españoles a una distribución de renta como la danesa.

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í.

Estructura poblacional de España: 2010-2050

Si se puede hacer para Japón, también se puede hacer para España:

El código,

library(idbr)
library(ggplot2)
library(animation)
library(ggthemes)

idb_api_key("pídela en https://www.census.gov/data/developers/data-sets/international-database.html")

male <- idb1('SP', 2010:2050, sex = 'male')
male$SEX <- "hombres"
male$POP <- -male$POP

female <- idb1('SP', 2010:2050, sex = 'female')
female$SEX <- "mujeres"

spain <- rbind(male, female)

saveGIF({

  for (i in 2010:2050) {

    title <- as.character(i)

    year_data <- spain[spain$time == i, ]

    g1 <- ggplot(year_data, aes(x = AGE, y = POP, fill = SEX, width = 1)) +
      coord_fixed() +
      coord_flip() +
      annotate('text', x = 98, y = -300000,
                label = 'Datos: US Census Bureau IDB; idbr R package', size = 3) +
      geom_bar(data = subset(year_data, SEX == "mujeres"), stat = "identity") +
      geom_bar(data = subset(year_data, SEX == "hombres"), stat = "identity") +
      scale_y_continuous(breaks = seq(-300000, 300000, 150000),
                          labels = paste0(as.character(c(seq(300, 0, -150), c(150, 300))), "k"),
                          limits = c(min(spain$POP), max(spain$POP))) +
      theme_economist(base_size = 14) +
      scale_fill_manual(values = c('#ff9896', '#d62728')) +
      ggtitle(paste0('Estructura poblacional de España en, ', title)) +
      ylab('Población') +
      xlab('Edad') +
      theme(legend.position = "bottom", legend.title = element_blank()) +
      guides(fill = guide_legend(reverse = TRUE))

    print(g1)

  }

}, movie.name = 'spain_pyramid.gif', interval = 0.1,
    ani.width = 700, ani.height = 600)

ISO 3166-2:ES

El estándar ISO 3166-2:ES, ignorado por todos, establece cómo deberían identificarse provincias y comunidades autónomas en España.

Obviamente, ni el INE ni nadie le va a hacer el más minimo caso: seguiremos teniendo que recordar que Zaragoza es la provincia 50, Soria la 42, etc. ¡Qué primitivo, qué contraintiutivo!

Pero no ha de perderse la esperanza: si me lees y algún día te vas a ver en la tesitura de crear algún tipo de base de datos de gentes y lugares de España, recuerda que existe un estándar internacional medianamente nemotécnico y al socaire de las veleidades vernacularizantes.

rOpenSpain: ahí tiro el guante

La gente de rOpenSci hace cosas a las que merece la pena atento. Tanto por los objetivos como por medios y las formas. Recomiendo seguir sus últimas publicaciones acerca de la profesionalización del proceso de desarrollo de código.

Llevo unos meses jugando con una idea inspirada por rOpenSci: crear un respositorio y un consorcio más o menos formal que desarrolle, mantenga y mejore herramientas (en R) de interés para el procesamiento y análisis de datos ya no científicos sino españoles. Hablo, obviamente, de INE (EPA, EPF, censo, padrón,…), CIS (barómetros, etc.), IGN (Siane,…), encuestas electorales, etc.

Pues sí, puede fabricarse uno para España

R

Es

responde a mi entrada de la semana pasada y se lo debemos a la gentileza de Sergio J.

El código, con mínimas modificaciones mías (para automatizar la descarga de los datos) es

library(pxR)
library(dplyr)
library(tidyr)
library(ggplot2)

#---- Carga y transformacion de datos

download.file("http://www.datanalytics.com/uploads/3199.px", "3199.px")

pob <- read.px("3199.px", encoding = "latin1")
pob <- as.data.frame(pob)
pob$Sexo <- NULL
pob$Periodo <- as.numeric(as.character(pob$Periodo))
pob <- separate(pob, Provincias, into = c("id_provincia", "provincia"), sep = 3)
pob$fecha <- as.Date(paste0(pob$Periodo, "-12-31"))
pob <- subset(pob,as.numeric(id_provincia)<=50)

#---- Plot

bl <- sapply(1:22, function(n) paste(rep(" ",n),collapse=""))

pob$provincia.reorder <- factor(
    pob$provincia,
    levels = c("Coruña, A","Lugo","Asturias","Cantabria","Bizkaia","Gipuzkoa","Navarra",bl[1:2],
  "Pontevedra","Ourense","León","Palencia","Burgos","Araba/Álava" ,"Huesca","Lleida","Girona",
  bl[3:4],"Zamora","Valladolid","Soria","Rioja, La","Zaragoza","Tarragona","Barcelona",
  bl[5:6],"Salamanca","Ávila","Segovia","Guadalajara","Teruel",bl[7:8],
  bl[9:10],"Cáceres","Toledo","Madrid","Cuenca","Castellón/Castelló",bl[11],"Balears, Illes",
  bl[12:13],"Badajoz","Córdoba","Ciudad Real","Albacete", "Valencia/València",bl[14:15],
  bl[16:17],"Huelva","Sevilla","Jaén","Murcia","Alicante/Alacant",bl[18:19],
  bl[20:21],"Cádiz","Málaga","Granada","Almería",bl[22],"Palmas, Las","Santa Cruz de Tenerife"))

ggplot(pob, aes(x = fecha, y = value)) +
  geom_line() + facet_wrap(~ provincia.reorder,
    ncol=9,drop = F, strip.position="bottom") +
  labs(title = "Evolución de la edad media por provincias en España (1975-2016)", y="Edad Media") +
  theme_classic() +
  theme(axis.text.x = element_blank(),
        strip.background=element_blank(),
        axis.line=element_blank(),
        axis.ticks=element_blank())

Se aceptan modificaciones y mejoras, por supuesto. Y si alguien quiere dedicarle el tiempo necesario para crear un paquete en R que lo generalice, creo que será bienvenido por la comunidad.

Evolución de la edad media de la población por provincias

Abundo en la entrada de ayer. Lo hago para mostrar

En el gráfico anterior se muestra la evolución de la edad media de la población de las provincias españolas como diferencia con respecto a una evolución media calculada como la regresión lineal de todas las edades medias con respecto al año. Es decir, algo así como evolución relativa.

Se aprecian claramente los rejuvenecimientos relativos de Guadalajara y, en menor medida, Toledo. Especialmente acusados durante este siglo.

Rejillas poblacionales con R (un borrador)

R

me llegó ayer por Twitter (vía @unnombrealazar). En el mapa aparece representada la edad media de la población por provincia (y hoy voy a dar las cloropetas por buenas). Salta a la vista Guadalajara: tiene una edad media ¿sorprendentemente? baja. Tanto que tuve que comprobarlo en el INE. La explicación (siempre a posteriori) más obvia es

@gilbellosta @unnombrealazar inmigrantes que trabajan en el corredor del henares, familias con niños supongo

– jesus alfaro (@jesusalfar) 26 de marzo de 2017

Ceuta y Melilla, ¿por encima de la renta media española?

Durante estos días que he pasado fuera, la Agencia Tributaria ha publicado datos de la renta por municipios. No he visto los datos originales ni leído los caveats, pero en fuentes indirectas como El País se lee cómo Ceuta y Melilla superan la media española con 30.125 y 29.209 euros, respectivamente.

Del mismo tenor son Expansión y, a poco que se indague, otros medios.

Y yo me pregunto: ¿estarán realmente Ceuta y Melilla, tal como se cuenta, por encima de la media? No he estado por allá pero las cosas que de por allí se cuentan (incluida la EPA) me hacen sospechar que no.