Gráficos

Gráficos (IV): tutoriales

La mala vida me ha obligado a posponer hasta el jueves esta nueva entrada sobre mi serie sobre gráficos que tenía prometida para el martes. Espero ser excusado.

Esta entrega es más sustancial que las anteriores y seguro que el lector interesado obtendrá en ella cantidad de material para leer e instruirse durante bastante tiempo. Es una lista de tutoriales recogidos durante varios meses sobre la construcción de gráficos e infografías.

¡Qué prensa tan mala!

Al autor de estas páginas se le cae la baba con las infografías del New York Times (¿sabéis que en ese periódico usan R?) y de The Guardian. Y esperaba, ¡qué menos!, algo si no ya similar, al menos sí decente del, dicen, más serio de los periódicos españoles.

Pero hoy se me ha caído el alma a los pies. Fijáos, fijáos lectores:

¿Veis cómo los porcentajes no tienen nada que ver con las cifras absolutas? Comparad Europa con Oriente Próximo. O con Oceanía. ¿Alguien entiende algo?

Gráficos (III): bitácoras

En la tercera entrega de la serie de gráficos quiero dar a conocer una serie de bitácoras que tratan este tema, muchas de ellas escritas por profesionales de la infografía. En orden alfabético son:

  • Climate Charts & Graphs, con infinidad de mapas y gráficas sobre el cambio climático, desarrollados principalmente con R.
  • Datablog, la bitácora del diario británico The Guardian que bajo el lema facts are sacred, hace un periodismo moderno, de primera línea, utilizando un paradigma no textual.
  • Datapointed es el proyecto del (autoproclamado) artista y científico Stephen Von Worley.
  • Excelcharts no es exactamente lo que su nombre indica: de hecho, el autor parece tener un objetivo oculto: hacer progresar al usuario de Excel hacia herramientas de visualización decentes.
  • Flowingdata, un proyecto de Nathan Yau, candidato a doctor en estadística con especialidad en visualización de datos.
  • En Information Aesthetics, según sus autores, form follows data. Más que publicar contenido original, recoge visualizaciones de otros medios.
  • Information is beautiful es el blog de David McCandless, autor de diversos libros sobre la materia y del que no hay que perderse este vídeo.
  • Information & Visualization es, de entre todas las bitácoras que listo en esta entrada, la que contiene unos gráficos más próximos a los que sería posible realizar con R y herramientas similares. Los autores son más estadísticos que diseñadores gráficos. Uno de ellos, de hecho, fue responsable de las herramientas gráficas de KNIME.
  • Junk Charts, o la enciclopedia de la graficaca.
  • En la bitácora de RevolutionAnalytics también es frecuente ver entradas sobre visualización de datos como ésta. Por supuesto, siempre con un característico saboR.
  • Visual Business Intelligence, el blog de Stephen Few, consultor y autor en el mundo de la visualización, con cierto sesgo hacia las aplicaciones en inteligencia de negocios.
  • visualizing.org, que aspira a desentrañar asuntos complejos a través de los datos y el diseño. Trata de cubrir el hueco que media entre quienes poseen y generan los datos (gobiernos, ONGs, etc.) y quienes han sido entrenados en las técnicas de representación gráfica, especialmente diseñadores.

¡Disfrutadlas!

Gráficos (II): Herramientas

Comenzaré por lo que en todo debiera ser el final: las herramientas. La herramienta tiene que ajustarse a la función y no a la inversa: no coge el carpintero por la mañana un martillo y busca clavos que clavar el resto de la jornada (igualmente tampoco debieran hablar las empresas en primera instancia con, por ejemplo, SAS a la hora de ahondar en sus capacidades analíticas; pero ésa es otra historia). Pero me permitiré alterar el orden lógico de las cosas porque nadie está obligado a leer cuanto esta bitácora contiene en el orden en que le dio la gana a mis musas sino en el que más le convenga.

Gráficos (I): introducción

De no mediar contratiempos, a lo largo de los próximos cinco o seis martes iré subiendo a mi bitácora una serie de entradas sobre una (sub)disciplina en alza. Se la conoce por diversos nombres de desigual empaque —infografía, information design, etc.— pero las ubicaré bajo un epígrafe algo más humilde: gráficos.

Comenzaré citando a Andrew Gelman. En una reciente entrevista (que no tiene desperdicio), éste respondía categóricamente:

Sí, la representación gráfica de unos datos siempre es una estadística.

¿Tartas? No gracias

Voy a dejar aquí escrito mi argumento. Para que conste. Para tener que repetirlo cada vez que un exceladicto osa objetar. Por pereza. Para no tener sino que dar el enlace y pasar a otra cosa. Porque vamos para la primavera y es mejor dedicar el tiempo a cosas mejores que a dar vueltas sobre el mismo asunto.

El uso de tartas para visualizar fracciones está sancionado (acepción segunda) por la escuela básica: ¿quién no las vio representadas en una pizarra cuando oyó por primera vez en su vida mencionarlas palabras tres octavosnumerador y denominador? El que la formación matemática de muchos no llegase mucho más lejos unido a su prominente presencia en el endiosado Excel ha perpetuado su uso en los negocios y publicaciones para el gran público.

Enredando con el paquete googleVis de R

R

Si el otro día denuncié un gráfico engañabobos (y algún otro me explayaré muy constructivamente sobre el intercambio de correos que mantuve con sus autores), hoy he querido reproducirlo con el paquete googleVis de R.

Habedlo:

[cf]googleViz[/cf]

El código utilizado para generarlo es:

library(googleVis)
library(reshape)

a <- read.csv("http://datanalytics.com/uploads/serie_bde_1.csv")[,1:2]
b <- read.csv("http://datanalytics.com/uploads/serie_bde_2.csv", header = F)[,1:2]

colnames(a) <- c("fecha", "privado")
colnames(b) <- c("fecha", "público")

fechas <- data.frame(fecha = a$fecha, orden = 1:nrow(a))

goo.dat <- merge(merge(a, b), fechas)
goo.dat <- goo.dat[order(goo.dat$orden),]

goo.dat$privado <- goo.dat$privado / 10^9
goo.dat$público <- goo.dat$público / 10^9

goo.dat <- subset(goo.dat, select = c(privado, público))
goo.dat$date <- seq(as.Date("1962-01-01"), by = "month", length = nrow(goo.dat))
goo.dat <- melt(goo.dat, id.vars = "date")


goo.tl <- gvisAnnotatedTimeLine(goo.dat, datevar = "date",
            numvar = "value", idvar = "variable")

Finalmente, hay que advertir que no es inmediato el publicar estas visualizaciones en bitácoras como ésta (que utiliza Wordpress). Los detalles de cómo hacerlo, en este enlace.

ggplot2 en su contexto

gplot2 es, sin duda, el paquete gráfico de moda en R. Hay quien lo ama, hay quien lo odia, pero cada vez son menos los que lo ignoran. Lo que igual no es tan sabido por los usuarios de R es el contexto en el que nació ggplot2, su relación con el motor gráfico de R y su relación con otros mecanismos de representación gráfica existentes en otros paquetes estadísticos.

Un gráfico engañabobos

Hay un blog que sigo con cierto interés. Es un blog de economía, algo en lo que soy, cuando más, un diletante. Por eso lo leo con mucho cuidado: no quiero que me engañen como a las abuelas con el cambio cuando van al mercado. Además, los economistas, a diferencia de estadísticos, matemáticos, y otras especies análogas, son o de izquierdas o de derechas y siempre tratan de arrimar el ascua a su sardina.

Graficaca a tutiplén

Al autor le preocupa de viejo el problema de la representación gráfica de datos. Piensa que tiene más de arte que de ciencia. Tal vez lo dice porque no se le da bien: confunde tonos y colores y desgarbado es el adjetivo que mejor describe sus trazos.

Y como casi todo diletante maltratado de las musas, ejerce de crítico. Y voto a Dios que su crítica es acerba. Le irritan todos los gráficos de tarta (menos éste), desea toda clase de malaventura al cretino que lleva lo de Excel en Expansión y vive prisionero de otras manías semejantes.

Transforma (los gráficos de) España

Ha aparecido en diversos medios la noticia de la presentación al rey de una propuesta de la Fundación Everis que ha venido a titular TransformaEspaña (así, junto). El estudio que define la propuesta

[…] pone de relieve la gravedad de la actual crisis económica, sus causas y consecuencias, propone una serie de soluciones y actuaciones en todos los ámbitos del sistema que deben producirse en los próximos años para generar un verdadero cambio.

A vueltas con los fractales

R

Si bien no hace mucho publicaba una entrada sobre el triángulo de Sierpinsky, mi tocayo Carlos Ortega (y ahora gentil colaborador) nos ha proporcionado un enlace en este blog a un pedazo de código que bien vale la pena replicar aquí para el solaz (y tal vez, incluso, provecho) de los lectores de estas páginas. Es:

    library(fields)         # for tim.colors
    library(caTools)        # for write.gif
    m = 400                 # grid size

    C <- complex(
        real=rep(seq(-1.8,0.6, length.out=m), each=m ),
        imag=rep(seq(-1.2,1.2, length.out=m), m ) )
    C <- matrix(C,m,m)
    Z <- 0
    X <- array(0, c(m,m,20))

    for (k in 1:20) {
        Z <- Z^2+C
        X[,,k] <- exp(-abs(Z))
    }
    image(X[,,k], col=tim.colors(256))
    write.gif(X, "Mandelbrot.gif", col=tim.colors(256), delay=100)

(extraído de aquí).

Hoy me he enamorado en el metro

Hoy me he enamorado en el metro. Apenas comenzaba a leer mi articulillo cuando he tropezado con esta frase:

GPL treats data as an accessory to viewing a graph.

Y la siguiente era aún mejor:

GPL is based on the mathematical definition of the graph of a function and uses that definition to organize data linked to the graph.

Y más adelante:

[…] it is based on the assumption that statistical procedures serve graphics; graphics are not ancillary displays of statistical results, but are means of perceiving statistical relationships directly.