R

Reunión del Grupo de Usuarios de R de Madrid

R

El día 31 de octubre (de 2012) se reunirá de nuevo el Grupo de Usuarios de R de Madrid. La reunión tendrá lugar en el Matadero (metro Legazpi) y el programa y otros detalles pueden consultarse, como siempre, en la página del grupo. Y también en la página de Medialab Prado.

Entre otras cosas, casi seguro, se discutirá el plan de reuniones para el curso actual, los temas que se discutirán en las siguientes, etc.

Algunos gráficos de información bursátil

Hoy voy a presentar algunos gráficos de información bursátil adaptados a partir de código de Eric Zivot, el instructor del curso Introduction to Computational Finance and Financial Econometrics que estoy siguiendo (un poco como puta por rastrojo: siempre me las arreglo para resolver los ejercicios en el último minuto y antes de haber revisado la teoría) en Coursera.

Por si pueden servir de algo a otros, los reproduzco y comento aquí. Primero, hay que importar las librerías necesarias:

R como herramienta de captura de datos

R

Seré breve hoy porque estoy desinspirado. Y también porque estoy trabajando en dos o tres proyectos importantes de los que se hablará por aquí pronto. Así que hoy me dedicaré a divulgar una presentación de Jeffrey Breen que tiene un título engañoso: Tapping the Data Deluge with R.

En realidad, es un repaso (y el código está disponible) de las posibilidades que ofrece R para capturar datos disponibles en línea en diversos repositorios: Banco Mundial, Yahoo, Twitter. Y no sólo eso sino también cómo conectarse a bases de datos, leer y procesar correos electrónicos, etc. En definitiva y si se me permite, amorrarse a fuentes de información diversas como paso previo al análisis.

Gráficos en R a la xkcd

Esto fue un reto en toda regla: un megafriqui publicó código en LaTeX para reproducir en dicho entorno gráficos como los que aparecen en xkcd.com, es decir, del tipo de

con el siguiente resultado:

La respuesta por parte de la comunidad de usuarios de R, obviamente, no podía demorarse. Y es

El código puede encontrarse aquí. Y más información sobre el asunto, recomiendo este otro enlace.

Ejemplos sobre cómo usar R desde SAS a través de IML

R

Quiero dar a conocer hoy un vídeo de SAS sobre cómo integrarlo con R a través de SAS/IML. SAS/IML es un lenguaje de programación que apenas tiene que ver con lo que normalmente se conoce como el lenguaje de programación SAS y que tiene un aspecto similar a Matlab o, incluso, salvando las distancias, R. Debido a esa afinidad, es el producto a través del cual SAS ha querido establecer la interconexión de sus productos con R. Además, intuyo, de forzar a los interesados en dicha integración a adquirir una licencia de IML.

Predicciones de series temporales a gran escala y en paralelo con R

En el artículo Large-Scale Parallel Statistical Forecasting Computations in R encontrarán los interesados información sobre cómo está usando Google R para realizar predicciones de series temporales a gran escala usando cálculos en paralelo.

El artículo tiene dos partes diferenciadas. Por un lado está la que describe los métodos que usan para realizar predicciones sobre series temporales. Parecen sentir cierto desdén por la teoría clásica, comprensible dado el gran número de series temporales que tratan de predecir y el mimo —entiéndase como uso de materia gris— que exige aquella. Prefieren un proceso en el que el coste sea esencialmente computacional: construir predicciones usando gran número de modelos distintos y promediándolos después para obtener resultados que, aunque lejos del óptimo para cada caso particular, resultan adecuados para su fin.

RDataMining, un paquete para minería de datos con R

Comparto con mis lectores la noticia que he recibido del paquete (aún en ciernes) RDataMining. El objetivo de sus promotores es construirlo colaborativamente (¡se buscan programadores!) e incluir en él algoritmos publicados que no tengan todavía implementación en R.

Existen en R muchos paquetes útiles para la minería de datos. De todos ellos, me atrevería a recomendar el paquete [caret](http://cran.r-project.org/web/packages/caret/index.html) que, más allá de integrar diversos algoritmos, incluye funciones auxiliares útiles para seleccionar modelos, comparar la importancia de funciones, realizar validaciones cruzadas, etc. utilizando una sintaxis coherente y homogénea. Que es algo a lo que los autores de las APIs de los distintos paquetes prestan poca atención, desafortunadamente.

"Gráficos estadísticos y mapas con R", un análisis

Me dispongo hoy a analizar el libro Gráficos estadísticos y mapas con R que anuncié hace unos días, aun sin haber tenido oportunidad de hojearlo.

Es un libro relativamente extenso, de casi cuatrocientas páginas a todo color. Y es poco perdonable que una editorial técnica como Díaz de Santos haya permitido que el código que aparece en el libro esté en Times New Roman. Pero bueno.

La estructura general del libro tiene forma de recetario: cómo hacer para construir un determinado tipo de gráfico. Se echa en falta una discusión más profunda sobre qué tipo de gráficos son más convenientes para representar ciertos tipos de datos, qué combinaciones de colores son las más adecuadas y, más en general, una serie de buenas prácticas para la representación cuantitativa de datos. Sobran por otra parte detalles demasiado prolijos sobre las distintas opciones, paletas, tipos de línea, etc. para los que el papel no es el soporte más adecuado. Un libro, que es un documento con vocación de permanencia, debería versar sobre los aspectos diacrónicos de su materia y dejar los sincrónicos a la documentación.

Limpieza de cartera: tres artículos

Estoy limpiando mi cartera y antes de mandar unos cuantos legajos al archivador (o al contenedor de reciclaje) quiero dejar nota de sus contenidos para referencia mía y, quién sabe, si inspiración de otros.

El primer artículo es Tackling the Poor Assumptions of Naive Bayes Text Classifiers. Tiene esencialmente dos partes. La primera analiza críticamente el método de clasificación bayesiano ingenuo (naive Bayes) en el contexto de la minería de textos identificando una serie de deficiencias. En la segunda parte, los autores proponen una serie de modificaciones ad hoc para crear un algoritmo de clasificación mejorado.