Gráficos

Taller de mapas con R el 14 de abril en Madrid

Mi entrada de hoy es para anunciar un taller de mapas con R que tendrá lugar el día 14 de abril de 18 a 21 horas en Martina Cocina (cómo llegar). Lo impartirá Beatriz Martínez, socióloga dedicada a la investigación social y de mercados, que ha trabajado en numerosos proyectos: desde investigación digital al desarrollo rural o programas de inclusión social. Está especializada en la la visualización de datos. Algunos de sus trabajos pueden verse en visualizados.

Compresión con SVD

lo he creado con library(png) tmp.file <- tempfile() download.file("http://datanalytics.com/uploads/greco.png", tmp.file) m <- readPNG(tmp.file) svd.m <- svd(m) filtra.svd <- function(svd, k){ tmp <- svd tmp$d[(k+1):length(tmp$d)] <- 0 res <- tmp$u %*% diag(tmp$d) %*% t(tmp$v) res[res > 1] <- 1 res[res < 0] <- 0 plot(1:2, type='n', xlab = "", ylab = "", xaxt = "n", yaxt = "n", main = paste(k, "primeras componentes", sep = " ")) rasterImage(res, 1, 1, 2, 2) } layout(matrix(1:9, 3, 3, byrow = T)) sapply(c(1,2,3,5,10,15,20,30,50), function(k) filtra.

Recurrencia recurrente

Pregunta Antonio Sánchez Chinchón cómo mejorar la parte menos vistosa e imaginativa de esto, es decir, el código. Él, y muchos diríamos que correctamente, autocritica el uso de eval + parse para plagar el namespace de funciones. La respuesta está en la recurrencia. He aquí mi versión del código: library(ggplot2) library(gridExtra) nrows <- 6 coefs.a <- runif(min=1, max=50, nrows) coefs.b <- runif(min=1, max=50, nrows) foo.a <- sample(c(sin, cos), nrows, replace = TRUE) foo.

¿Hubo alguna vez un millón de palentinas?

En el año 2013 hubo 54 muertes de mujeres por violencia de género. Eso da una tasa nacional de poco más de dos por millón (de mujeres). El Mundo nos lo ha querido mostrar su distribución provincial así: Diríase que la tasa palentina es enorme, cinco veces la nacional. Pero en Palencia viven del orden de cien mil mujeres y hubo un único caso en 2013 (además, ni la mujer ni el agresor, se ve, eran de la provincia sino de un pueblo limítrofe de Cantabria; solo que el cadáver apareció en al sur de la linde).

Gráficos e interactividad: una ocasión desaprovechada

Cuando los gráficos son estáticos, los compromisos mandan. ¿Mostramos las diferencias relativas? ¿O las magnitudes absolutas? Ocurre casi indefectiblemente que cuando uno opta por una opción siempre alguien en la audiencia levanta el dedo y sugiere la alternativa. ¿Mostramos ambas a la vez? Entonces abusamos de la usualmente limitada superficie construible de nuestro informe y, además, violentamos ese principio de que lo bué, si bré, dos ve bué. La interactividad en los gráficos permite superponer vistas diversas de unos datos en un recinto acotado.

Dime, ¿qué quieres comparar con qué?

A veces alguien me pregunta cómo representar gráficamente ciertos datos. Yo respondo casi siempre igual, casi siempre con la misma pregunta: ¿qué quieres comparar con qué? Luego se trata solo de disponer las magnitudes que se desea comparar próximas, paralelas y con un mismo eje de referencia. Si se puede, claro. Con el gráfico que acompaña al artículo La deuda atenaza la recuperación el pobre ilustrador no lo tenía fácil. Por un lado tenía que comparar la evolución de una magnitud en dos momentos distintos y lo que más claro deja es que ni ha leído Displaying Change Between Two Points in Time ni le suena lo que reza.

¿Dónde he estado (según Google)?

Leí esto el otro día. Lo voy a replicar con mis datos. Contexto Google guarda datos de tus ubicaciones: tu tableta, tu ordenador, tu teléfono Android son espías a su servicio. Los datos los guarda en aquí (creo que necesitarás que en tu navegador haya una sesión abierta con tus credenciales del universo Google). Pulsando en administrar archivos y luego en crear archivos puedes seleccionar el tipo de información sobre ti que posee Google y que quieres descargarte.

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. El segundo es que en horas intempestivas he estado purgando de missings unas matrices enormes y de la, se conoce, mayor trascendencia.

Factorización de enteros con grid

Vi esto y me dije: yo también quiero. Así que dicho y hecho: 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.

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.

¿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 extraído de aquí o 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.

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: