Gráficos

Missing

Dos motivos me han tenido missing estas últimas semanas. Uno es una estancia en la Universidad de Santa Catalina del Burgo de Osma. Oportunamente ubicada en las estribaciones de la muy generosa en caldos de calidad Ribera del Duero, ha sido reconvertida a la sazón en un hotel propicio para la evasión y la agrafía.

vim_package

El segundo es que en horas intempestivas he estado purgando de missings unas matrices enormes y de la, se conoce, mayor trascendencia. Es un asunto delicado, jamás bien resuelto, para el que el paquete [VIM](http://cran.r-project.org/web/packages/VIM/index.html) puede proporcionar ayuda. Sobre todo en los aspectos gráficos.

Factorización de enteros con grid

Vi esto y me dije: yo también quiero. Así que dicho y hecho:

100

Por si acaso, cada diagrama representa la descomposición en números primos de un número del 1 al 100.

El código (que no he adecentado lo que suelo) es un pequeño ejercicio con el paquete grid y unos elementos de recursividad (como en Grid, Scala y arbolitos fractales):

library(grid)
library(gmp)

plot.factors <- function(n, new.plot = TRUE){

  if(new.plot)
    grid.newpage()

  divisors <- sort(as.integer(factorize(n)), decreasing = T)

  foo <- function(divs){
    if(length(divs) == 0){
      grid.circle(x = 0.5, y = 0.5, r = 0.5,
                  gp=gpar(fill="black"))
      return()
    }

    n <- divs[1]

    x <- (Re(exp( 2 * pi *(1:n) * 1i /n))) / 4 + 0.5
    y <- (Im(exp( 2 * pi *(1:n) * 1i /n))) / 4 + 0.5

    for(i in 1:n){
      tmp <- viewport(x = x[i], y = y[i],
                      w = 2/(3 + n), h = 2/(3 + n))
      pushViewport(tmp)
      #grid.rect(gp = gpar(col = "grey"))
      foo(divs[-1])
      popViewport()
    }
  }

  foo(divisors)
}

plot.factors(25)


grid.newpage()

nrow <- 10
ncol <- 10

for(y in 1:nrow){
  for(x in 1:ncol){
    tmp <- viewport(x = x / (1 + ncol), y = 1 - y / (1 + nrow),
                    w = 1/(1 + ncol), h = 1/(1+ncol))
    pushViewport(tmp)
    #grid.rect(gp = gpar(col = "grey"))
    plot.factors(x + y * ncol - ncol, new.plot = FALSE)
    popViewport()
  }
}

MadData: datatón de datos abiertos

Copio (adaptándolo) de aquí:

_everis y MadridEmprende organizan el primer Open Datathon de Madrid.

La competición consiste en crear soluciones innovadoras a partir del uso de datos abiertos. MADdata pondrá a disposición de cada participante datos de la ciudad de Madrid, procedentes del portal de datos abiertos del Ayuntamiento, de servicios públicos, de transporte y movilidad y de redes sociales._

maddata

La inscripción está abierta hasta el 25 de julio de 2014.

Finalmente, he aquí una frase del anuncio que me hace mucha gracia:

Facetas para entender, tal vez, la evolución del paro

La verdad, no sé de dónde los sacan porque la EPA es trimestral. Pero el INE publica datos mensuales de la tasa de desempleo y las cuelga de una de esas URLs que tienen pinta de cambiar con cualquier soplo (es decir, aviso de que en cualquier momento el enlace deja de funcionar). Por ssi acaso, estos son los datos a día de hoy.

También aparecen publicados regularmente en prensa. Y los expertos opinan sobre si la cifra es buena y o mala. Pero, ¿buena o mala con respecto a qué? Así que hoy voy a ensayar un marco en el que plantear la pregunta:

¿Fascinados por las cosas circulares?

Llevo un tiempo prestando especial atención a los gráficos circulares. Y no me refiero a los innombrables. Hablo más bien de otros como

procedencia_jugadores_futbol

extraído de aquí o

marketing_circle_graph

que encontré acá.

¿Realmente aporta algo el uso de coordenadas polares? ¿Por qué nos fascinan? ¿Por qué nos resultan tan naturales y familiares? Más aún, ¿abusamos de ellos? ¿Existen alternativas cartesianas más eficaces?

Vengo, como digo, prestando atención a los gráficos circulares y planteándome esas preguntas después de leer Our Irresistible Fascination with All Things Circular. Artículo que, por supuesto, invito a hojear.

plot.ly: visualización de datos multilenguaje

He recibido hoy un correo sobre plot.ly, que es, según sus autores, una herramienta colaborativa para en análisis y la visualización de datos. Gustará seguramente a los interesados en las APIs: en el fondo, el software reside en la nube.

Permite, por ejemplo, [integrar gráficos interactivos en IPython](http://nbviewer.ipython.org/gist/msund/61cdbd5b22c103fffb84). Aunque no he visto ejemplos de cómo integrarlo con [knitr](http://yihui.name/knitr/). A ver si saco algo de tiempo…

45º

Llevaba unas semanas sorprendido: en el trabajo alguien hubía imprimido y olvidado recoger An Empirical Model of Slope Ratio Comparisons. Durante un tiempo pensé que podía haber sido sido yo. Implausible, en todo caso: siempre imprimo sobre papel reciclado y en escala de grises; nunca, como este artículo, a todo color (aunque no tiene mucho) y sobre papel sin estrenar (aunque, eso sí, a doble cara).

Estaba intrigado. Quería saber a quién de la oficina le podía interesar la diferencia entre los dos siguientes gráficos:

Imágenes y magia

No sé si imagen y magia comparten la misma raíz. Lo que me consta es que la gente que procesa imágenes hace algo que me parece casi mágico. De mayor quiero ser como ellos.

Traigo aquí un ejemplo sobre técnicas para completar imágenes:

image_reconstruction

El artículo completo, Scene Completion Using Millions of Photographs, y mucho material auxiliar puede revisarse aquí.

"Visual Explanations" de Tufte: el primer gráfico estadístico

Aprovecho los tiempos muertos de aviones y aeropuertos para ir leyendo esos libritos de Tufte que, no sé de qué manera, acabaron apareciendo como pedeefes en mi tableta. El otro día hablé de y resumí Beautiful Evidence. Esta vez le toca el turno a Visual Explanations.

Según el autor, este libro —y a diferencia de otros de los suyos, que se centran en números o sustantivos— trata la representación gráfica de verbos: acciones, procesos, secuencias efecto-causa. Pero esta vez, en lugar de resumirlo voy a, simplemente, limitarme a extraer de él este gráfico:

Tres criterios para evaluar gráficos

Tienes que evaluar un gráfico. Puede ser uno que estés haciendo. O uno que encuentres. ¿Es bueno? ¿Bajo qué criterios?

Estas tres preguntas te ayudarán a guiar tu análisis:

  • ¿Cuál es la pregunta a la que el gráfico trata de dar respuesta?
  • ¿Qué es lo que dicen los datos?
  • ¿Qué dice el gráfico?

Las preguntas, escritas en inglés y dispuestas en un triángulo, tienen este aspecto:

trifecta_checkup

Para saber más, véase esto o esto.