R (lenguaje de programación)

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda
R
Rlogo.png
Desarrollador
R Development Core Team
www.r-project.org
Información general
Última versión estable 3.1.1
10 de julio de 2014; hace 51 días (2014-07-10)
Género Software matemático
Sistema operativo Multiplataforma
Licencia GPL
En español Sí 

R es un lenguaje y entorno de programación para análisis estadístico y gráfico.

Se trata de un proyecto de software libre, resultado de la implementación GNU del premiado lenguaje S. R y S-Plus -versión comercial de S- son, probablemente, los dos lenguajes más utilizados en investigación por la comunidad estadística, siendo además muy populares en el campo de la investigación biomédica, la bioinformática y las matemáticas financieras. A esto contribuye la posibilidad de cargar diferentes bibliotecas o paquetes con finalidades específicas de cálculo o gráfico.

R se distribuye bajo la licencia GNU GPL y está disponible para los sistemas operativos Windows, Macintosh, Unix y GNU/Linux.

Historia[editar]

Fue desarrollado inicialmente por Robert Gentleman y Ross Ihaka del Departamento de Estadística de la Universidad de Auckland en 1993.[1] Su desarrollo actual es responsabilidad del R Development Core Team.

A continuación se enumeran algunos hitos en el desarrollo de R:[2]

  • Versión 0.16: Es la última versión alfa desarrollada esencialmente por Ihaka y Gentleman, que incluye gran parte de las características descritas en el "White Book".
  • La lista de correo comenzó su andadura el 1 de abril de 1997.
  • Versión 0.49 (23 de abril de 1997): Es la versión más antigua de la que se conserva el código (que todavía compila en algunas plataformas UNIX). En esta fecha arrancó también CRAN con tres espejos que albergaban 12 paquetes. Poco después aparecieron las versiones alfa para Windows y Mac OS.
  • Versión 0.60 (5 de diciembre de 1997): R se integra oficialmente en el Proyecto GNU. El código se versiona a través de CVS.
  • Versión 1.0.0 (29 de febrero de 2000): Los desarrolladores lo consideran suficientemente estable para su uso en producción.[3]
  • Versión 1.4.0: Se introducen los métodos S4 y aparece la primera versión para Mac OS X.
  • Versión 2.0.0 (4 de octubre de 2004): Introduce el lazy loading, que permite una carga rápida de datos con un coste de memoria mínimo.
  • Versión 2.9.0: El paquete 'Matrix' se incluye en la distribución básica de R.
  • Versión 2.11.0 (22 de abril de 2010): Soporte para sistemas Windows de 64 bits.
  • Versión 2.13.0 (14 de abril de 2011): Añadida una nueva función al compilador que permite acelerar las funciones convirtiéndolas a byte-code.
  • Versión 2.14.0 (31 de octubre de 2011): Añadidos espacios de nombres obligatorios para los paquetes. Añadido un nuevo paquete de paralelización.
  • Versión 2.15.0 (30 de marzo de 2012): Nuevas funciones de balanceo de cargas. Mejorada la velocidad de serialización para grandes vectores.
  • Versión 3.0.0 (3 de abril de 2013): Mejoras en GUI, funciones gráficas, gestión de memoria, rendimiento e internacionalización.

Características[editar]

R proporciona un amplio abanico de herramientas estadísticas (modelos lineales y no lineales, tests estadísticos, análisis de series temporales, algoritmos de clasificación y agrupamiento, etc.) y gráficas.

Al igual que S, se trata de un lenguaje de programación, lo que permite que los usuarios lo extiendan definiendo sus propias funciones. De hecho, gran parte de las funciones de R están escritas en el mismo R, aunque para algoritmos computacionalmente exigentes es posible desarrollar bibliotecas en C, C++ o Fortran que se cargan dinámicamente. Los usuarios más avanzados pueden también manipular los objetos de R directamente desde código desarrollado en C. R también puede extenderse a través de paquetes desarrollados por su comunidad de usuarios.

R hereda de S su orientación a objetos. La tarea de extender R se ve facilitada por su permisiva política de lexical scoping.[4]

Además, R puede integrarse con distintas bases de datos y existen bibliotecas que facilitan su utilización desde lenguajes de programación interpretados como Perl y Python.

Otra de las características de R es su capacidad gráfica, que permite generar gráficos con alta calidad. R posee su propio formato para la documentación basado en LaTeX.

R también puede usarse como herramienta de cálculo numérico, campo en el que puede ser tan eficaz como otras herramientas específicas tales como GNU Octave y su equivalente comercial, MATLAB.[5] Se ha desarrollado una interfaz, RWeka[6] para interactuar con Weka que permite leer y escribir ficheros en el formato arff y enriquecer R con los algoritmos de minería de datos de dicha plataforma.

Extensiones y paquetes[editar]

R forma parte de un proyecto colaborativo y abierto. Sus usuarios pueden publicar paquetes que extienden su configuración básica. Existe un repositorio oficial de paquetes cuyo número superó en otoño de 2009 la cifra de los 2000.

Dado el enorme número de nuevos paquetes, éstos se han organizado en vistas (o temas), que permiten agruparlos según su naturaleza y función. Por ejemplo, hay grupos de paquetes relacionados con estadística bayesiana, econometría, series temporales, etc.

Para facilitar el desarrollo de nuevos paquetes, se ha puesto a servicio de la comunidad una forja de desarrollo que facilita las tareas relativas a dicho proceso.

Proyectos relacionados[editar]

  • Bioconductor, un conjunto de paquetes para el análisis de datos en genómica.
  • Rmetrics, orientado al análisis de los mercados financieros y la valoración de instrumentos de inversión.

Herramientas de productividad[editar]

Existen diversas interfaces que facilitan el trabajo con R.

Interfaces gráficas[editar]

Editores e IDEs[editar]

Entre los editores de texto e IDEs con soporte para R se cuentan:

Bluefish,[8] Crimson Editor, ConTEXT, Eclipse,[9] Emacs (Emacs Speaks Statistics), Geany, jEdit,[10] Kate,[11] RStudio,[12] RKWard,[13] Syn, TextMate, Tinn-R, Vim, gedit, SciTE, WinEdt (R Package RWinEdt) y notepad++.[14]

Sweave es un procesador de documentos que puede ejecutar código de R incrustado en código de LaTeX y para insertar código, resultados y gráficos en el documento escrito en LaTeX. LyX puede usarse para crear y compilar documentos desarrollados en Sweave. El paquete odfWeave es similar, generando documentos en el formato OpenDocument (ODF); extensiones en estado experimental también permiten generar documentos del tipo presentación u hoja de cálculo.

Lenguajes de script[editar]

La funcionalidad de R puede ser invocada desde código desarrollado en otros lenguajes de script tales como Python (mediante RPy[15] ), Perl (mediante Statistics::R[16] ), Ruby[17] y F#.[18] También pueden desarrollarse scripts en R directamente usando littler[19] o Rscript, que forma parte de la distribución básica de R desde la versión 2.5.0.

Véase también[editar]

Alternativas comerciales[editar]

Enlaces externos[editar]

Documentación en español[editar]

Referencias[editar]

  1. A Brief History R: Past and Future History, Ross Ihaka, Statistics Department, The University of Auckland, Auckland, New Zealand, available from the CRAN website
  2. What's new in R? What's new in R?
  3. Peter Dalgaard. «R-1.0.0 is released». Consultado el 6 de junio de 2009.
  4. Jackman, Simon (Spring 2003). «R For the Political Methodologist» (PDF). The Political Methodologist (Political Methodology Section, American Political Science Association) 11 (1):  pp. 20–22. http://polmeth.wustl.edu/tpm/tpm_v11_n2.pdf. 
  5. «Speed comparison of various number crunching packages (version 2)». SciView. Consultado el 3 de noviembre de 2007.
  6. «RWeka: An R Interface to Weka. R package version 0.3-17». Kurt Hornik, Achim Zeileis, Torsten Hothorn and Christian Buchta. Consultado el 2009.
  7. «Cantor - Description». The KDE Education Project. Consultado el 4 de noviembre de 2012.
  8. Customizable syntax highlighting based on Perl Compatible regular expressions, with subpattern support and default patterns for..R, tenth bullet point, Bluefish Features, Bluefish website, retrieved 9 July 2008.
  9. Stephan Wahlbrink. «StatET: Eclipse based IDE for R». Consultado el 26 de septiembre de 2009.
  10. Jose Claudio Faria. «R syntax». Consultado el 3 de noviembre de 2007.
  11. «Syntax Highlighting». Kate Development Team. Consultado el 9 de julio de 2008.
  12. «Integrated Development Environment (IDE) for R». RStudio, Inc.. Consultado el 16 de marzo de 2012.
  13. «Página proyecto RKWard».
  14. NppToR: R in Notepad++
  15. RPy home page
  16. Statistics::R page on CPAN
  17. RSRuby GitHub project
  18. F# R Type Provider
  19. littler web site