¿Qué es R?

By Oscar Perpiñán Lamigueiro, en su blog Omnia sunt Communia! 

“_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 paraexplorar 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 EconometricsSocial SciencesAnalysis of Ecological and Environmental DataOfficial Statistics & Survey MethodologyChemometrics and Computational PhysicsNatural Language ProcessingTime Series Analysis,…y también simulaciones de sistemas fotovoltaicos :-) .

En el campo de la visualización de datos destacan especialmente tres paquetes:latticelatticeExtra 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 deGapminder.

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, latticistplaywithrattle).

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 yR-Blogs-es.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax