LENGUAJE R: PIEDRA ANGULAR DEL BIG DATA

Como ya conocemos, R se origina como software libre a partir del lenguaje S (creado por los Laboratorios AT&T Bell), compartiendo su filosofía y extraordinario potencial. De hecho, varios programas en S pueden usarse en R. Extendiéndose con un enorme éxito gracias a sus aplicaciones estadísticas, se halla consolidado en sectores como la minería de datos, las finanzas, la investigación médica o las ciencias sociales.

R es un lenguaje no estructurado compuesto de multitud de paquetes de funciones (más de 4 mil) útiles en distintos tipos de análisis. Como software libre que es, estas funciones comienzan a ser desarrolladas por los mismos usuarios, siendo publicadas paulatinamente.

R crece, pues, de una forma exponencial gracias a los aportes de profesionales y científicos de datos que publican su trabajo. Uno de los docentes del Máster en Big Data y Data Science de la UNED (España), por ejemplo, Dr. Francisco Javier Parra, ha creado ya tres funciones que hacen parte de la ya legendaria versatilidad del lenguaje R: una de ellas consiste en una regresión con series de Fourier, otra sirve para dar tratamiento a la Encuesta de Presupuestos Familiares (EPF) y otra realiza una descomposición de series temporales. En el caso de las series de Fourier hablamos ya de estructuras de una gran complejidad.

Es de nombrar que R está muy presente en los ejercicios formativos en Big Data y Data Science: al ser un lenguaje gratuito acaba calando muy fuerte en los círculos académicos, por ejemplo, en las facultades de ciencias sociales. Se asimila esta manera de programar también por los altos costos de las alternativas de pago. Con lo cual, a pesar de ser un lenguaje un tanto “rudo”, se va adaptando a amplitud de necesidades y demandas.

Siendo un conjunto muy vasto de funciones estadísticas, con una base de programación no estructurada, su presencia se vio pronto muy consolidada en la escritura de programas para el análisis “especial y profundo” de los datos. Presentando, además, varias características atractivas: funciona con comandos, sirve para analizar datos y generar gráficos de gran calidad (que se pueden visualizar y guardar en varios formatos de manera directa), es integrable en distintas bases de datos (dado que puede correr sobre diferentes hardware y software), tiene versatilidad en el momento de llamar a paquetes de datos y bibliotecas mediante una gama generosa de funcionalidades, muestra resultados estadísticos en pantalla pero permite guardar resultados intermedios y exportarlos, la relativa facilidad para dar respuesta a necesidades gracias al tamaño de la comunidad R en el mundo, etc.

Uno de los casos importantes sobre desarrollos en base a R, es aquel que ha permitido crear webs interactivas enfocadas al análisis y presentación de datos estadísticos; por ejemplo artículos que admiten el código generando en el mismo documento todos sus resultados. Esta aplicación se conoce con el nombre de Shiny.

En España, por supuesto, R se impone en todas las facultades que no sean de Ingeniería Informática, donde domina el estructurado lenguaje de Python. Sin embargo, R no tiene una forma de proceder estándar a nivel informático, no tiene una estructuración definida “tradicional” (siendo, no obstante, muy flexible).

Si un alumno, durante su Trabajo de Fin de Máster, tiene una imagen integral del alcance de R, que no es otra cosa que conciencia sobre la “posibilidad de hacerlo todo” a nivel de proceso estadístico, habremos labrado el terreno para (casi) adelantarnos a los nuevos retos.

Es decir, en la praxis de llamar funciones con los parámetros adecuados nos embarcamos en procesos cuyos resultados son objetos; lo que quiere decir que, acudiendo a una variable determinada, se puede explorar el interior de ese objeto y acceder al detalle especifico de los posibles resultados. Este nivel de abstracción (la imagen de los resultados como un objeto con dimensiones y contenido interior) da una idea de la riqueza del análisis: tanta como direcciones posibles en el “corte” de ese objeto, revelando una matriz de interpretación de dimensiones insospechadas.

Al interpretar los resultados como un objeto, la flexibilidad de R permite centrarse solo en la parte del análisis que interesa en cada momento.

Los resultados de las funciones acaban siendo objetos que se sumarizan, permitiendo acceder luego a determinados componentes del objeto para realizar un análisis más pormenorizado.

Por otra parte, y esto es muy importante, las funciones de R interactúan con otros programas (por ejemplo, con programas de inferencia bayesiana) y con el Big Data. Es decir, en el caso de librerías, permite trabajar en entornos distribuidos.

Desde R podemos comunicarnos con otros entornos y trabajar, por ejemplo, en Hadoop y Spark. La ventaja de conectar varias máquinas (servidores de memoria) y hacer que todas trabajen como una sola (en la misma tarea), nos proporciona la capacidad de atacar bases de datos muy grandes mediante particiones.

Ese “divide y vencerás” esconde parte de las claves de la actual revolución vivida en los horizontes del Big Data, y es uno de los aspectos más importante a tener en cuanta en las acciones formativas en esta área.

Entre las listas de lenguajes de programación más populares, tenemos la del Instituto de Ingeniería Eléctrica y Electrónica (Institute of Electrical and Electronics Engineers o IEEE), que cuenta con alrededor de 425.000 miembros en 160 países. Esta lista se basa en los lenguajes más usados para desarrollos web, soluciones para empresas, aplicaciones móviles, etc. Su índice estrella para 2017 indica que los lenguajes más usados (entre una lista de 48) son Python, C, Java, C++, C#, R, JavaScript, PHP, Go y Swift.

Guardar

Guardar

Guardar

Guardar

Guardar