2 ¿Qué es R?

R es un lenguaje de programación de código abierto. Se ejecuta interactivamente o por la interpretación de comandos guardados en archivos de texto o “scripts”. Esto lo hace similar a lenguajes de programación como Python o Ruby.

Sin embargo, R difiere de esos lenguajes por su principal uso. Aunque R se está transformando en un lenguaje de propósito cada vez más general, fue concebida originalmente como alternativa de código abierto al lenguaje de programación estadística “S”. Como tal, R es ante todo un lenguaje de programación estadística y, como resultado, se utiliza ampliamente en los programas académicos de ciencias de la información y de estadística en todo el mundo.

Creciendo a partir de sus raíces académicas, R se considera ahora a menudo la “lengua franca” para los datos, y se utiliza ampliamente en las principales empresas y gobiernos de todo el mundo. R está bien adaptado para procesar y analizar datos, y cuenta con un sistema gráfico capaz de generar impresión de figuras de calidad con relativa facilidad.

El desarrollo continuo del lenguaje R está gestionado por la fundación sin ánimo de lucro R Foundation, que fue fundada por miembros del equipo de desarrollo de R.

También existe un organismo empresarial, denominado [“R Consortium” (https://www.r-consortium.org/), que trabaja con la Fundación R, principalmente patrocinando proyectos de infraestructura.

2.1 Entornos objetivo

R está disponible precompilado para Windows, MacOS y algunas distribuciones Linux. Además, como lenguaje open-source, el código fuente está disponible para inspección o compilación para otras plataformas.

2.2 Uso Interactivo

Una de las maneras más comunes para que las personas usen R es interactivamente. Los usuarios de R frecuentemente realizan de esta manera lo que se conoce como “Análisis Exploratorio de Datos” (EDA). Durante este EDA, uno o más conjuntos de datos se cargan en R y el usuario literalmente “explora” los datos; selecionado o combinándolos de distintas maneras, realizando análisis y experimentos, y produciendo gráficos para obtener una idea de las aproximaciones que se derivan de ellos.

A menudo, los resultados de dicho uso interactivo se plasmarán en un informe o presentación, o en cualquier otra forma, para facilitar la toma de decisiones bien informadas dentro de la organización del usuario.

2.3 Uso no interactivo

A veces llamado uso “desatendido” o “por lotes”, esto difiere del uso exploratorio descrito en la sección anterior. El uso por lotes es lo opuesto; los comandos R escritos en un archivo de script se pueden ejecutar con un conjunto de datos para producir una salida definida, como un gráfico u otro conjunto de datos que contenga los resultados del análisis. Dichos scripts están diseñados para ser repetibles y a menudo tendrán el rigor y la robustez adicional que se espera de cualquier otro lenguaje de programación, lo que hace que este modo de operar se adapte bien a los casos de uso en producción.

La forma por lotes de utilizar R suele implicar la invocación de un script preescrito manual o automática, quizás iniciada en un momento determinado o por un evento específico. También normalmente es el modo de funcionamiento que se utiliza al escribir código para ejecutar en clusters de cálculo de alto rendimiento (HPC) con simulaciones complejas.

2.4 Fuentes de entrada de datos

Cualquier tipos de origen de entrada es compatibles con R: los más comunes son los archivos planos de algún tipo, como archivos de texto plano, JSON, Excel o CSV, o de bases de datos como SQL Server, Oracle o MySQL. También es posible conectar R a los Spark Clusters o utilizarlo para realizar trabajos de Hadoop. Si eso no fuera suficiente, los paquetes adicionales le permitirán realizar el scraping web, o trabajar directamente con APIs web y extraer datos de esa manera.

2.5 R Dentro de las bases de datos

Dado el enorme aumento de interés por R en la última década, quizás no sorprenda que varios vendedores de bases de datos hayan intentado integrar la potencia analítica de R en la propia base de datos. Normalmente funciona de forma similar a un procedimiento almacenado en una base de datos. Es un código, almacenado en la base de datos, que cuando se ejecuta produce una salida, generalmente otro conjunto de datos.

Existen varios beneficios al ejecutar R dentro de la base de datos, pero quizás el más importante es que todo el análisis, incluyendo el almacenamiento de datos, se hace in situ y se elimina el cuello de botella potencial de mover los datos que se procesan a través de la red.

Los proveedores con versiones de R que se ejecutan dentro de la base de datos incluyen Oracle (con Oracle R Enterprise u ORE), Microsoft (con Machine Learning Services for SQL Server) y Teradata (con Aster R).

2.6 Versiones comerciales de R

La versión open-source de R – licenciada bajo la GPL – es muy utilizada en entornos comerciales y gubernamentales. Empresas como Google, Walmart y Amazon utilizan R para generar ideas que pueden ayudar a impulsar los negocios. Los departamentos gubernamentales de todo el mundo utilizan R para proporcionar una valiosa información sobre algunos de los problemas más acuciantes de la sociedad actual. A pesar del éxito de open-source R, hay varias distribuciones comerciales disponibles, cada una dirigida a una necesidad diferente.

Microsoft tiene “Microsoft ML Server”, que incorpora su propia distribución R. Esta versión de R se compila utilizando las “Bibliotecas del Kernel de Matemáticas” de Intel, que aseguran un rendimiento mejorado en comparación con las bibliotecas, generalmente utilizadas, de código abierto de matemáticas. También se suministra con librerías de extensión adicionales propietarias y está bien integrado en el ecosistema de Microsoft. Esta distribución tiene como objetivo proporcionar resultados más rápidamente y trabajar mejor con conjuntos de datos de mayor tamaño.

Si usted trabaja en una empresa fuertemente regulada, Mango Solutions ofrece una versión ampliamente validada de R, llamada ValidR. Esta es la distribución de R de código abierto que ha sido sometida a pruebas adicionales rigurosas y exhaustivas.

TIBCO, desarrolladores del producto de análisis Spotfire, tiene un producto llamado TERR (TIBCO Enterprise Runtime for R) que es una alternativa, no GPL implementación del intérprete R, diseñado teniendo en mente mejorar la velocidad. Está integrado en varios productos TIBCO, incluyendo Spotfire.

Éstas, junto con las versiones en base de datos de R, mencionadas anteriormente, son las versiones comerciales que probablemente encontrarás en el campo, aunque ninguna está tan extendida como la versión oficial de código abierto.