R

Contando hexágonos en paralelo

Dicen que para realizar gráficos de dispersión con muchos datos no es desaconsejable usar celosías hexagonales. Por motivos que no vienen al caso, me interesa poder realizarlas en paralelo.

El código disponible en R (hexBinning de fMultivar o el de geom_hex de ggplot2) es feo, ininteligible y, en particular, no es paralelizable (o mapreducible). No lo es porque cada hilo, por diseño del algoritmo, crea hexágonos excéntricos.

Así que he desarrollado un algoritmo para crear celosías hexagonales paralelizable. Además, creo que es algo más inteligible que los dos mencionados y, me temo, igual de feo. Pero vectorizado, eso sí (es decir, sin un maldito bucle). Es así:

Sexo, deporte y la cantidad de información mutua

Perdón por el titular. No soy inasequible a las modas.

La cuestión del día de hoy es la siguiente: tenemos una variable X inobservable y otra variable Y potencialmente correlacionada con X. ¿Cuánto podemos decir de X de conocida Y?

Supongamos que ambas son binarias. Si conozco Y poseo 1 bit de información. Si solo conozco X (que me da pistas sobre Y) conoceré una fracción de un bit de información (sobre Y).

Recordatorio: V Jornadas de Usuarios de R, diciembre 2013, Zaragoza

Que sirva esta entrada de recordatorio de que la comunidad de usuarios de R va a celebrar sus V Jornadas en Zaragoza este mes de diciembre.

Este año, como aliciente adicional, contamos con no uno sino tres concursos con el patrocinio de Synergic Partners y Telefónica Digital.

Como miembro del comité organizador de las jornadas, reitero mi invitación a quienes siguen estas páginas a que acudan, participen y, en el peor de los casos, ayuden a difundirlas entre quienes consideren interesados en ellas.

El cuarteto de Anscombe

F. Anscombe escribió en 1973 el artículo Graphs in Statistical Analysis para subrayar la importancia de los gráficos en el análisis estadístico.

Esencialmente, el artículo se limita a presentar cuatro conjuntos de datos distintos con la misma media, varianza, correlación y recta de regresión (excúsenseme los abusos del lenguaje). Sin embargo tienen aspectos muy distintos:

¿Os interesa saber más al respecto? Pues tenéis esto para satisfacer el apetito de culturilla y esto otro para jugar con el cuarteto en R.

Medianas ponderadas en R

La mediana de 1:3 es 2. Pero puede ser que queramos dar a 1:3 los pesos 2, 1, 2. En ese caso, el cálculo de la mediana sigue siendo sencillo (y sigue siendo 2). Pero la situación puede complicarse más.

Mientras los pesos sean enteros, todavía pueden usarse trucos:

x <- 1:3
pesos <- c(2,1,2)
median(rep(x, times = pesos ))

¿Pero qué hacemos cuando hay pesos fraccionarios? Bueno, en realidad, podemos ordenar:

n <- 1000

x <- runif(n)
pesos <- runif(n)
o <- order(x)
x.o <- x[o]
pesos.o <- pesos[o]
x.o[min(which(cumsum(pesos.o) > .5 * sum(pesos.o)))]

Pero me parece más limpio usar el paquete quantreg:

Las V Jornadas de Usuarios de R, en Zaragoza

Escribo para anunciar públicamente que están en marcha las V Jornadas de Usuarios de R. Se celebrarán este año en Zaragoza, los días 12 y 13 de diciembre.

Todavía no está disponible el programa (que, en cierto modo, es responsabilidad de vosotros: estáis invitados a enviar propuestas de ponencias y talleres). Tenemos un concurso cuyas bases podrían todavía modificarse si un generoso patrocinador asumiese su financiación.

Y eso, que estáis todos invitados a esta nueva edición de las jornadas.

¿Nos ayudáis a mejorar r-es.org?

R

Hora es cumplida, creo yo, de repensar el portal de la Comunidad R Hispano. Así que he pensado en pulsar el criterio —que estimo sobremanera— de mis visitantes y solicitar de ellos (vía comentario a esta entrada) sugerencias. Por acotar el tema, sugiero que vayan encaminadas a dirimir estas dos cuestiones:

  1. ¿Cuál debería ser el objetivo de un portal de esas características?
  2. ¿Cómo debería organizarse para alcanzar mejor esos objetivos?

Y como colofón, ¿conocéis algún modelo aplicable y que funcione?

pqR: un R más rápido

Hace no mucho, Radford Neal publicó pqR, una versión de R más rápida. Y algunos os preguntaréis qué es y de dónde salió esa reimplementación.

La respuesta breve es la siguiente: no hace tanto, cuando R iba por la versión 2.13, Neal sugirió una serie de modificaciones (patches) para mejorar el rendimiento de R en algunos aspectos. Creo recordar que eran catorce, aunque bien pudo haber habido otros posteriores. Los desarrolladores de R, sin embargo, rechazaron algunos (si no todos) de ellos por motivos de diversa índole pero que se resumen en lo siguiente:

Hablaré de la EPA (y más cosas) en Medialab Prado

Este miércoles (2013-06-19 en formato ISO 8601: a ver si os vais acostumbrando a él de una bendita vez) hablaré en MediaLab Prado sobre la EPA y más cosas.

Va a ser una charla enteramente antiinstitucional y subversiva. Voy a tratar de abrir varias cajas de Pandora y liberar los correspondientes demonios. Y no voy a tener piedad con las neuronas de los asistentes: quienes acudan, que traigan unos sudokus hechos de casa a modo de calentamiento.