R lenguaje de programación

R



s una implementación de software libre del lenguaje S pero con soporte de alcance estático. Se trata de uno de los lenguajes más utilizados en investigación por la comunidad estadística, siendo además muy popular en el campo de la minería de datos, 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 funcionalidades de cálculo y gráficas.


R es parte del sistema GNU y se distribuye bajo la licencia GNU GPL. Está disponible para los sistemas operativos Windows, Macintosh, Unix y GNU/Linux.
R es un lenguaje y entorno de programación para análisis estadístico y gráfico. Su historia ya fue contada en genbetadev y no quiero ser repetitivo pero para hacer un resumen, podríamos decir que es un dialecto libre del lenguaje S, desarrollado por Robert Gentleman y Ross Ihaka del Departamento de Estadística de la Universidad de Auckland en 1993.
bibliotecas o paquetes con funcionalidades de cálculo y gráficas.

R es parte del sistema GNU y se distribuye bajo la licencia GNU GPL. Está disponible para los sistemas operativos Windows, Macintosh, Unix y GNU/Linux.

Historia

Fue desarrollado inicialmente por Robert Gentleman y Ross Ihaka del Departamento de Estadística de la Universidad de Auckland en 1993.1​ Sin embargo, si se remonta a sus bases iniciales, puede decirse que inició en los Bell Laboratories de AT&T y ahora Alcatel-Lucent en Nueva Jersey con el lenguaje S. Este último, un sistema para el análisis de datos desarrollado por John Chambers, Rick Becker, y colaboradores diferentes desde finales de 1970. La historia desde este punto es prácticamente la del lenguaje S. Los diseñadores iniciales, Gentleman y Ihaka, combinaron las fortalezas de dos lenguajes existentes, S y Scheme. En sus propias palabras: "El lenguaje resultante es muy similar en apariencia a S, pero en el uso de fondo y la semántica es derivado desde Scheme". El resultado se llamó R "en parte al reconocimiento de la influencia de S y en parte para hacer gala de sus propios logros".



Su desarrollo actual es responsabilidad del R Development Core Team. Para saber más al respecto y en el entorno del programa, puede teclearse contributors(); el la lista desplegada aparecen los nombres de los autores iniciales y los actuales pertenecientes al R Development Core Team (Equipo Central de Desarrolladores R).


A continuación se enumeran algunos hitos en el desarrollo de R:3​
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.


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.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.

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.

Versión 3.4.0 (21 de abril de 2017): El compilador de código de bytes JIT ('Just In Time') ahora está habilitado en el nivel 3 de forma predeterminada.

Características  y ventajas de la programación en R


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.

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.

Regresión y su análisis somero en R versión 3.2.2 y en el sistema operativo Windows
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.6​ Se ha desarrollado una interfaz, RWeka7​ 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.

El lenguaje de programación R es un proyecto colaborativo y abierto, los desarrolladores pueden descargar el código de forma gratuita y modificarlo para incluir mejoras.
Es un lenguaje interpretado, funciona mediante comandos.
R proporciona una amplia gama de herramientas estadísticas que incluyen análisis de datos y generación de gráficos. Este lenguaje tiene capacidad de generar gráficos de alta calidad. Estas características lo convierten en una potente herramienta de cálculo.
Gracias a este lenguaje de programación los Data Scientists pueden manejar grandes volúmenes de datos.

Puede integrarse con distintas bases de datos. Una de las ventajas más importantes de R es que funciona con diferentes tipos de hardware y software (Windows, Unix, Linux…)
El lenguaje R ofrece la posibilidad de cargar bibliotecas y paquetes con diversas funcionalidades lo que permite a los usuarios extender su configuración básica.
La comunidad en torno a R es muy activa por lo que es sencillo encontrar soluciones rápidamente a los problemas que los usuarios se puedan encontrar.
¿En qué me puede ayudar R?
R al estar orientado a las estadísticas, proporciona un amplio abanico de herramientas.
Entre otras características de R, podemos nombrar su capacidad gráfica, que permite generar gráficos con alta calidad, con sólo utilizar las funciones de graficación.
R también puede usarse como herramienta de cálculo numérico y a la vez ser útil para la minería de datos.

Como dije anteriormente R es un poderoso entorno y lenguaje en el cual podemos tratar datos y gráficar. Pero no quiero detenerme en el entorno sino que quiero revisar el lenguaje.

Al igual que S, se trata de un lenguaje de programación, lo que permite que permite extender sus propias funciones. La gran mayoría de las funciones de R fueron escritas en R pero por cuestiones de rendimiento existen funciones escritas en lenguajes de más bajo nivel como C o Fortran.