“_Y esa simulación, ¿cómo la has hecho?. ¿Es matlab?

_No, yo trabajo con R.

_¿R? ¿Qué es R?”

No han sido pocas las ocasiones en las que he revivido este breve diálogo. Escribir es un buen método para comprender y aprender, así que me decido ahora a juntar todo lo que quise haber respondido.

¿Qué es R? Es un lenguaje de programación principalmente orientado al análisis estadístico y visualización de información cuantitativa y cualitativa y publicado como software libre con licencia GNU-GPL. Esta entrada de la lista de correo R-help (How do I get my IT department to “bless” R?) lo describe de forma muy interesante.

¿Para qué se puede utilizar? Hace un tiempo publicaron un artículo en el New York Times mostrando algunas de las aplicaciones de R; google lo utiliza para explorar datos y construir modelos e incluso en el archiconocido Facebook lo usan para mostrar los enlaces entre sus usuarios.

Una de sus grandes fortalezas es que puede ser ampliado mediante paquetes que extienden sus funcionalidades. Actualmente hay más de 2860 paquetes publicados con licencias libres y disponibles en un repositorio general (CRAN), y unos 400 paquetes destinados al análisis de genomas (Bioconductor).

Los paquetes publicados en CRAN están organizados en lo que denominan “Task Views“, abarcando aplicaciones tales como  Empirical Finance, Computational Econometrics, Social Sciences, Analysis of Ecological and Environmental Data, Official Statistics & Survey Methodology, Chemometrics and Computational Physics, Natural Language Processing, Time Series Analysis,…y también simulaciones de sistemas fotovoltaicos :-).

En el campo de la visualización de datos destacan especialmente tres paquetes: lattice, latticeExtra y ggplot2. También son importantes otros paquetes: rgl, que permite trabajar de forma interactiva con imágenes en 3D; vcd, para la representación de datos cualitativos; y rggobi, una interfaz para GGobi, una herramienta para la exploración interactiva de datos multidimensionales. Y no olvidemos el paquete googleVis, que permite el uso de las herramientas de Gapminder.

R es un lenguaje de programación y, por tanto, la interacción con él es a base de código. Sin embargo, es posible diseñar interfaces gráficas para facilitar la interacción a usuarios que así lo prefieran. Destacan los paquetes gWidgets (para interfaces de escritorio: ejemplo) y gWidgetsWWW (para interfaces vía web y aplicaciones en un servidor: ejemplo). También hay interfaces ya construidas orientadas hacia el análisis de datos (por ejemplo, latticist, playwith y rattle).

Existen herramientas IDE adaptadas a R, pero dos destacan por encima de la multitud: Emacs Speaks Statistics (un módulo para Emacs) y el recientemente aparecido RStudio.

Además:

Y para terminar aconsejo dos agregadores de blogs dedicados a R: RBloggers y R-Blogs-es.

About these ads