Introducción a R: historia de un lenguaje de computación para el análisis de datos


Probablemente, cuando intentamos pensar en el avance de la informática y de la electrónica asociada a ella, nos vienen a la mente portátiles, tabletas, teléfonos inteligentes… y ejecutándose en ellos webs, videojuegos, aplicaciones de realidad aumentada… Pero a lo mejor unos pocos recuerdan que también tenemos cada vez mayor cantidad y más variada de sensores, capaces de realizar mediciones, almacenarlas y transmitirlas. Millones, billones, ¡trillones! de datos que provienen del fondo de los océanos, de inhóspitos desiertos, del espacio interestelar o de las mismas entrañas del ser humano.

La biología, meteorología, sismología, medicina, psicología… requieren de la informática para tratar esas cantidades ingentes de datos atómicos y convertirlos en información, más o menos estructurada, de la que se pueda inferir un conocimiento, aplicable a dichas ciencias. Y de esa necesidad de tratar con datos surgieron los lenguajes de tratamiento estadístico, como R.


‘S’, el antepasado de R

En 1976, la mayor parte del análisis y computación estadísticos se realizaba por medio de subrutinas en Fortran, algo que era bastante tedioso. Por eso, John Chambers, Rick Becker y Allan Wilks, pertenecientes a Bell Labs, desarrollaron ‘S’ como un conjunto de bibliotecas de macros Fortran, que se convirtieron en su entorno de análisis estadístico interno.

Como eran rutinas de uso exclusivo dentro de Bell Labs, no le buscaron ningún nombre, y aunque barajaron unos cuantos, todos tenían en común lo mismo: la palabra “Statistical”. Como por aquella estaba de moda nombrar a los lenguajes con una única letra (con C como mejor ejemplo), se quedaron con la S inicial, por lo que en 1979 comenzó a conocerse como ‘S’, antes de salir por primera vez de los laboratorios Bell como un producto distribuible.

Nuevo S y S4

En 1988, se reescribió completamente S (la versión 3) en código C, siendo la primera versión parecida a lo que es hoy día. Además, se sustituyeron las macros por funciones y se modificó la sintaxis para hacerla más consistente, aunque también más estricta. También se añadieron las funciones de modelado estadístico, ausentes hasta entonces. John Chambers publicó el libro “Statistical Models in S” para documentar dicho análisis, el cual por su importancia es conocido como el libro blanco.

Diez años más tarde, en 1998 se liberó la cuarta versión, que actualmente es vigente, también denominada S4. Con un conjunto de características orientadas a objetos más avanzadas que las de S3, las clases propias del lenguaje también difieren mucho entre ambas versiones. Chambers también sacó un libro verde para documentar esta versión: “Programming with data”.

Ese mismo año, S ganó el prestigioso premio “Association for Computing Machinery’s Software System Award”, 15 años después que UNIX, 7 después que TCP/IP, 4 antes que Java u 11 años antes que VMWare, por poner ejemplos conocidos por todos.

S-Plus y los cambios de manos

En 1993, Bell Labs vendió a StatSci la licencia para la explotación comercial de S. StatSci se fusionó con MathSoft, para pasar a denominarse Data Analysis Products Division, y sacaron su versión comercial bajo el nombre S-Plus, haciendo referencia a las múltiples características que habían añadido a S (principalmente interfaz gráfica).

8 años más tarde, MathSoft se volvió a separar, rebautizándose como Insightful Corp. En 2004 adquirió la totalidad del lenguaje S y en 2008 fue comprada por Tibco, que es el propietario actual. Sin embargo, tras todos estos cambios de compañía, los fundamentos de S apenas han variado desde 1998, y sólo se han añadido nuevas capacidades.

R, el dialecto libre de S

Mientras S cambiaba de dueño y denominación, Ross Ihaka y Robert Gentleman, decidieron implementar su propio dialecto. Era 1991 cuando estos dos neozelandeses crearon R. Tardaron dos años en anunciarlo públicamente y otros dos años más en licenciarlo bajo GPL. Y posiblemente esta decisión sea la responsable de que a día de hoy R tenga cada vez más repercusión, y sea más fácil encontrar cursos y tutoriales para este lenguaje que para su predecesor.

Entre las ventajas de R, está su gran similitud sintáctica con S-Plus, lo que ha facilitado la migración de muchos usuarios, sus frecuentes versiones (es un lenguaje activo, con más de una liberación anual) y el hecho de que puede ejecutarse sobre cualquier sistema operativo convencional, e incluso en plataformas tan inverosímiles como puede ser una PlayStation 3.

Pero también tiene pegas: muy poco soporte para gráficos dinámicos o en 3D, funcionalidad basada en la demanda expresa de los consumidores (si necesitas algo, hazlo tú mismo o paga para que te lo hagan) y obligación de que todos los objetos se guarden en memoria física, con el problema que esto puede suponer a la hora de intentar cargar objetos de gran tamaño (aunque se están produciendo avances en este aspecto).

Resumiendo: R no es un lenguaje ideal para todas las situaciones, pero sin duda es uno de los más útiles a la hora de estructurar y manipular datos, especialmente grandes colecciones de ellos.

Y para que no todo sea historia y podáis ver un poco de código antes del próximo artículo de esta serie introductoria, os dejo con un hola mundo personalizado en R.

> print("Hola, Genbeta Dev")      # Hola mundo para nuestros lectores
[1]  "Hola, Genbeta Dev"

Página oficial | The R Project for Statistical Computing

Ver todos los comentarios en https://www.genbeta.com

VER 0 Comentario

Portada de Genbeta