Busco viñetista (para MicroDatosEs)

R

Las viñetas son complementos importantes para un paquete, para que un usuario circunstancial pruebe y use un paquete. Uno de los míos, MicroDatosEs carece de ellas.

Me gustaría poder añadirle una o más que ilustraran cómo usarlo. Por ejemplo, para reproducir algunos de los números que ofrece el INE en sus notas de prensa.

Por eso te ofrezco la posibilidad de que te conviertas en viñetista. Eso te convertiría en colaborador del paquete (que es algo que cabe en un currículo). Eso sí, no subiría cualquier cosa.

SparkR 1.4: carga de ficheros CSV

R

He instalado Spark 1.4 recientemente y he comenzado a cacharrear. Antes de nada, quiero cargar datos.

Advierto que ha cambiado sustancialmente la API de SparkR. Entre otras novedades, desapareció (o más bien, se escondió) la función textFile, que permitía leer ficheros línea a línea. Ahora está pero no se exporta. La verás solo si haces SparkR:::textFile. ¿Signo de deprecación?

Se pueden crear un DataFrame (tablas distribuidas de Spark) a partir de un data.frame de R:

rPython & Anaconda

R

Nota: publico hoy en inglés en atención al público potencial de la entrada.

rPython lets R users call Python code. Anaconda is a completely free enterprise-ready Python distribution for large-scale data processing, predictive analytics, and scientific computing. Not surprisingly, some users want to call Anaconda Python rather than their system’s default Python.

However, Anaconda is a very particular package: unlike most other packages, whose files are scattered in a diversity of locations, it is self contained in a single directory. This helps Anaconda solve some problems, like the library hell. It is intended to provide the same experience regardless of the specifics of the host system.

La encuesta de presupuestos familiares, en MicroDatosEs

R

Hoy he subido una nueva versión del paquete MicroDatosEs a r-forge que incluye herramientas para cargar los datos de la Encuesta de Presupuestos Familiares.

Aún no está en CRAN, pero estáis invitados a probarla instalando la versión de desarrollo mediante

install.packages("MicroDatosEs", repos="http://R-Forge.R-project.org")

La parte del paquete que se encarga de la EPF es obra de Diego Paniagua, que es uno de los estudiantes del Experto en Data Science de la UTAD. La aportación a este paquete es, de hecho, parte de su proyecto final.

Liberado Spark 1.4

R

El anuncio de la liberación de la versión 1.4 de Spark se ha materializado. Está aquí.

¿Qué trae de novedad la versión 1.4? La integración con SparkR —antes había que instalarlo con algo de dolor independientemente— y, aparentemente, data.frames distribuidos y, cuentan, una sintaxis similar a la de dplyr —honestamente, hubiera preferido otra— para manipularlos.

Iré desgranando por aquí novedades. Y estoy pensando organizar una install & tutorial party un día de estos en Madrid. ¿Alguien se animaría?

Paralelismo en R: memo[rándum]

R

Esta es una nota que me dejo a mí mismo sobre paralelización en R para no tener que ir buscándola en otras partes:

library(parallel)

foo <- function(i){
  Sys.sleep(i)
}

cl <- makeCluster(4)

system.time(parSapply(cl, 1:4, foo))
# user  system elapsed
# 0.025   0.006   4.007

system.time(sapply(1:4, foo))
# user  system elapsed
# 0.039   0.033  10.001

stopCluster(cl)

¿Cuánta gente ha habido sobre la faz de la tierra?

Una vez oí que 70000 millones, de los que 7000 estaban vivos actualmente. Oí mal porque, buscando, he encontrado esto, de donde extraigo:

tabla_vivos

y

tabla_vivos_2

¡Un 6.5% de todos los que hemos sido estamos vivos!

Y me pregunto: ¿cuál será el porcentaje equivalente entre todos los que han sabido leer y escribir? ¿Cuántos de los que han sabido hacer música? ¿Cuántos de los escritores? ¿Cuántos de los que han tenido una existencia que no se redujese a subsistir precariamente?

Ver 53000 filas

Me preguntaban cómo ver con R una tabla con 53000 filas. Mi yo menos diplomático quiso contestar: define ver. Lo reformulé más amablemente y se me contestó: como en Excel.

La pregunta es: ¿permite Excel ver 53000 registros? De hecho, ¿se pueden ver 53000 registros? Impresos a razón de línea por centímetro, ocuparían 530 metros y andar a paso vivo del primero al último costaría cinco minutos.

Con 53000 registros, ver (como trasunto de entender) es una cosa distinta de tener delante. Lo siento, pero ver otra cosa que la facturación de los últimos quince días o los movimientos de la cuenta del último mes es algo distinto de lo que vacuamente promete Excel.

Oh, no, ¡datastepr!

R

Hoy no estoy de humor. He tratado de completar mi primer anillo en dos años y ha resultado un total fracaso. Mi bici buena estaba pinchada: me he enterado a un kilómetro de casa. He tenido que salir en otra, una de esas viejas de Decathlon, que no sé bien cómo apareció una vez en mi casa, que pesa un quintal y que cambia de marchas cuando y como quiere.

No solo me he quedado a la mitad del recorrido sino que, además, he podido constatar cómo el paisanaje de Madrid ha descompuesto todas las fuentes que en el proyecto original jalonaban el recorrido. Supongo que con la inestimable ayuda, por omisión, de nuestros munícipes. Aquello, más que un anillo ciclista, parecía Mad Max I.

Una de las cosas que me irritan de R

R

R (y su comunidad) es en ocasiones irritante. Os cuento por qué.

El otro día quise pintar un grafo sobre un mapa. No quería usar ninguno de los layouts al uso porque cada nodo estaba georeferenciado. Me interesaba, además, pintar el grafo sobre una capa (de Google Maps u OSM) para contextualizarlo (¿conterrenizarlo?) mejor.

No es demasiado complicado escribir una función que haga lo anterior. Pero es razonable pensar que alguien pudiera haberlo hecho antes. Et voilá. Después de mucho buscar, di con las funciones geom_edgeset y geom_nodeset del paquete popgraph que resolvían el problema.