R

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.

p-valores bajo la hipótesis nula tras múltiples comparaciones

Imagina que trabajas en lo que Ionnidis, en su artículo Why Most Published Research Findings Are False, llama un null field; es decir, un área de investigación (tipo homeopatía o percepción extrasensorial) en la que no hay resultados ciertos, en la que las relaciones causa-efecto no pasan de ser presuntas. O tienes un conjunto de datos en un campo no nulo pero que, por algún motivo, no recoge las variables necesarias para explicar un cierto fenómeno.

R en el Software Developer's Journal

R

El Software Developer’s Journal ha publicado estos días un número dedicado exclusivamente a R. Dicen que sus 260 páginas hacen de este número el más extenso que ha publicado jamás la revista.

Incluye, además, un artículo mío, Rpython, a package for calling Python from R.

Creo que es necesario registrarse (y probablemente de forma no gratuita) para hojear el volumen. De todos modos tal vez sería posible que pudiese pasarle el número completo a aquellos que deseen echarle un vistazo…

Fallecimientos y microdatos

Hace un tiempo, un amigo me dijo que si en verano tiende a crecer la tasa de fallecimientos. Como de eso no sé y no hay manera de preguntarle a Google cuándo se muere más la gente, acudí a quienes se encargan de recopilar ese tipo de datos. Y construí en relativamente poco rato un gráfico parecido a

que echaba por tierra su hipótesis.

Ahora quiero retomar el asunto aprovechando que he anunciado el paquete MicroDatosEs para indicar cómo se pueden crear los tres ficheros de metadatos necesarios para leer ficheros de microdatos. En concreto, ese tipo de ficheros de microdatos posicionales a los que tan aficionados son los institutos estadísticos españoles.

SAS, R, grandes datos y falta de afabilidad

R

El otro día hice un comentario a esta entrada de una bitácora de SAS. Esencialmente, decía dos cosas:

  • Que 10000 observaciones no hacen grandes datos (big data); 10000 observaciones son muy pocas observaciones.
  • Que el código original, la idea de la entrada, etc., proceden de este otro enlace de una página de Yihui Xie (conocido por ser el autor de knitr) en la que el problema se planteaba y resolvía con R. Se le concedía crédito en el enlace al código que aparece en la bitácora de SAS pero no de una manera, digamos, lo suficientemente manifiesta.

Y como no tuvieron a bien aprobar en la entrada mi comentario pasados unos cuantos días prudenciales, lo hago constar aquí.

Un paseo por el paquete MicroDatosEs (y la EPA, de nuevo)

En esta entrada voy a ilustrar el uso del paquete MicroDatosEs que anuncié el otro día. Como indiqué entonces, de momento sólo permite leer microdatos de la EPA con el formato que tiene desde el año 2005, la fecha del último cambio metodológico.

Como todavía no están disponibles los del segundo trimestre del 2012, utilizaré los del primero. Para ello, hay que ir a las páginas del INE y seleccionar el fichero correspondiente al primer trimestre de 2012 (que los impacientes pueden descargar directamente de su enlace directo).