R (lenguaje de programación)

R (lenguaje de programación)
R
Rlogo.png
Desarrollador
R Development Core Team
www.r-project.org
Información general
Última versión estable 2.13.1
8 de julio de 2011; hace 4 meses (2011-07-08)
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.

Contenido

Historia

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:

  • 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 del 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 del 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 del 29 de febrero de 2000: Los desarrolladores lo consideran suficientemente estable para su uso en producción.[2]
  • 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: Introduce el lazy loading, que permite una carga rápida de datos con un coste de memoria mínimo.
  • Versión 2.1.0: Aparece el soporte para UTF-8 y comienzan los esfuerzos de internacionalización para distintos idiomas.
  • Versión 2.9.0: El paquete 'Matrix' se incluye en la distribución básica de R.

Características

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.[3]

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 versión comercial, MATLAB.[4] Se ha desarrollado una interfaz, RWeka[5] 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

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

  • 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

Existen diversas interfaces que facilitan el trabajo con R.

Interfaces gráficas

  • JGR o Java GUI for R, una terminal de R multiplataforma basada en Java
  • R Commander (Rcmdr), una interfaz gráfica multiplataforma basada en tcltk
  • RExcel, que permite usar R y Rcmdr desde Microsoft Excel
  • rggobi, una interfaz a GGobi para visualización
  • RKWard, basado en KDE
  • Sage
  • Statistical Lab
  • nexusBPM, una herramienta de automatización
  • Rstudio

Editores e IDEs

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

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

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

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

Véase también

Alternativas comerciales

Enlaces externos

Documentación en español

Referencias

  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. Peter Dalgaard. «R-1.0.0 is released». Consultado el 06-06-2009.
  3. 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. 
  4. «Speed comparison of various number crunching packages (version 2)». SciView. Consultado el 03-11-2007.
  5. «RWeka: An R Interface to Weka. R package version 0.3-17». Kurt Hornik, Achim Zeileis, Torsten Hothorn and Christian Buchta. Consultado el 2009.
  6. 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.
  7. Stephan Wahlbrink. «StatET: Eclipse based IDE for R». Consultado el 26-09-2009.
  8. Jose Claudio Faria. «R syntax». Consultado el 03-11-2007.
  9. «Syntax Highlighting». Kate Development Team. Consultado el 09-07-2008.
  10. «Página proyecto RKWard».
  11. NppToR: R in Notepad++
  12. RPy home page
  13. Statistics::R page on CPAN
  14. littler web site

Wikimedia foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Mira otros diccionarios:

  • Lenguaje de programación C — Saltar a navegación, búsqueda C Paradigma: Imperativo (Procedural) Apareció en: 1972 Diseñado por: Dennis M. Ritchie Tipo de dato: Débil, Estático Implementaciones …   Wikipedia Español

  • Lenguaje de programación Java — Saltar a navegación, búsqueda Java Paradigma: Orientado a objetos Apareció en: 1991 Diseñado por: Sun Microsystems Tipo de dato: Fuerte, Estático Implementacion …   Wikipedia Español

  • Lenguaje de programación Pascal — Saltar a navegación, búsqueda Pascal Paradigma: imperativo (estructurado) Apareció en: 1970 Diseñado por: Niklaus Wirth Implementaciones: Múltiples Dialectos …   Wikipedia Español

  • Lenguaje de programación J — Saltar a navegación, búsqueda El lenguaje de programación J, diseñado por Kenneth Iverson y Roger Hui en los 90, es una síntesis de los lenguajes de programación APL (diseñado también por Iverson) y los lenguajes funcionales FP y FL creados por… …   Wikipedia Español

  • Lenguaje de programación Oz — Saltar a navegación, búsqueda Oz es un lenguaje de programación multi paradigma y lenguaje de programación esotérico. Oz fue originalmente desarrollado en el laboratorio de Programación de Sistemas en la Universidad de Saarland por Gert Smolka y… …   Wikipedia Español

  • Lenguaje de programación Limbo — Saltar a navegación, búsqueda Limbo Paradigma: Concurrente Apareció en: 1995 Diseñado por: Sean Dorward, Phil Winterbottom, and Rob Pike Desarrollador: Bell Labs/Vita Nuova …   Wikipedia Español

  • Lenguaje de programación fuertemente tipado — Saltar a navegación, búsqueda Un lenguaje de programación es fuertemente tipado si no se permiten violaciones de los tipos de datos, es decir, dado una variable de un tipo concreto, no se puede usar como si fuera una variable de otro tipo… …   Wikipedia Español

  • Lenguaje de programación Miranda — Saltar a navegación, búsqueda Miranda fue desarrollado entre los años 1985 y 1986 por David Turner. Se trata de un lenguaje de programación funcional sucesor de SASL y KRC. El principal objetivo de este lenguaje era el desarrollar una versión… …   Wikipedia Español

  • Lenguaje de programación Scala — Saltar a navegación, búsqueda Este artículo es acerca del Lenguaje de Programación. Para otros usos, ver Scala. Scala Paradigma: [ functional, orientado a objetos Apareció en: 2003 Diseñado por: Martin Odersky …   Wikipedia Español

  • Lenguaje de programación B — Saltar a navegación, búsqueda B Paradigma: imperativo (procedural) Apareció en: 1969 Diseñado por: Kenneth L. Thompson, Dennis M. Ritchie Tipo de dato: lenguaje sin tipos …   Wikipedia Español

  • Lenguaje de programación D — Saltar a navegación, búsqueda D Paradigma: multiparadigma: orientado a objetos, imperativo Apareció en: 1995 Diseñado por: Walter Bright Última versión: 1.050(estable) 2.035(inestable) (14 de octubre de 2009 …   Wikipedia Español

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”