R: una poderosa herramienta para Análisis Estadístico

De todas las herramientas estadísticas disponibles, R es una de las más poderosas por diversas razones: es gratuito, es de código abierto, tiene disponible una gran cantidad de técnicas y métodos para análisis estadístico, tiene muchas facilidades para hacer gráficos de gran calidad y con el cual se pueden generar fácilmente documentos de diversos tipos (reportes, artículos, presentaciones, publicaciones para páginas web, etc.).

El Proyecto R (R Project) define a R como un ambiente de software libre para computación y gráficación estadística, que puede ser compilado y ejecutado en varias plataformas de UNIX, Windows y MacOS. Para mas detalles puede consultar la página “What is R?”, que aparece con el nombre “About R” en el menú del Proyecto R.

R puede ser descargado desde cualquiera de los servidores espejo de CRAN (Contributed R Archive Network), y la instalación por defecto de la versión más reciente de R (R 3.5.2) incluye una serie de paquetes que conforman el núcleo de R: compiler, datasets, graphics, grDevices, grid, methods, parallel, splines, stats, stats4, tcltk, tools, translation y utils, y una serie de paquetes contribuidos por terceros que tiene el estatus de recomendados; boot, class, cluster, codetools, foreign, KernSmooth, lattice, MASS, Matrix, mgcv, nlme, nnet, rpart, spatial y survival.

Una de las ventajas de R es que tiene disponible una serie de métodos, técnicas, datos y herramientas de utilidades, que están disponibles en las librerías o paquetes contribuidos, que actualmente son más de 13500.

Historia del R.

Originalmente, R fue creado como un lenguaje de programación por los profesores y programadores del Departamento de Estadística de la University of Auckland de Nueva Zelandia, Ross Ihaka y Robert Gentelman, y cuya sintaxis está inspirada en el lenguaje S, creado por Chambers y colaboradores para Laboratorios Bell a mediados de los ochenta, y cuya semántica está basada en el lenguaje Scheme, creado por Steel y Sussman a mediados de los setenta. Para más detalles se recomienda leer el artículo de Ihaka y Gentelman (1996).

En este artículo, Ihaka y Gentelman señalan que deciden ponerle  el nombre de R, debido a la influencia de S (y probablemente de la letras inicial de Scheme), y por la letra inicial de sus nombres, para celebrar sus propios esfuerzos en su creación.

Recientemente, Nick Thieme escribió un artículo para la revista Significance donde narra  la historia de R. En el mismo nos recuerda algunos aspectos importantes respecto a la creación y evolución de R, entre ellos:

  1. R fue creado para satisfacer la necesidad de proveer a los estudiantes de de los cursos de pregrado en estadística de la Universidad de Auckland, de un lenguaje de programación, debido a que las herramientas disponibles habían llegado a su vida útil y a la necesidad de contar con un lenguaje que corriera en computadores Macintosh.
  2. La notificación de Ihaka y Gentelman a través de un correo en agosto de 1993 (considerada como la fecha del nacimiento de R) a la lista S-news donde informaban acerca del proyecto de creación y el desarrollo (todavía no completo) de R, que trajo como consecuencia la incorporación de R en Statlib, y que hizo visible a R, y permitió recibir retroalimentaciones de usuarios, entre las que destacan las del estadístico de ETH Zurich, Martin Mächler, que fue fundamental en los desarrollos iniciales de R, y que fue el que convenció a Ihaka y Gentelman de que R fuera una herramienta de software libre.
  3. A partir de este momento, R comenzó a captar el interés de algunos programadores y analistas, que fueron contribuyendo a las mejoras y correcciones de errores, hasta el punto, que en el año 1997,  un grupo de 11 personas deciden crear un grupo al que denominaron el “R Core” (en español “Núcleo de R”), en el cual participaban además de Ihaka, Gentelman y Mächler, una serie de personalidades que han venido contribuyendo desde entonces al desarrollo del R, entre ellos: Peter Dalgaard, Kurt Hornik, Friedrich Leisch y Thomas Lumley y se crea el Proyecto R. (actualmente el “R Core” está conformado por 20 personas: Douglas Bates, John Chambers, Peter Dalgaard, Robert Gentleman, Kurt Hornik, Ross Ihaka, Tomas Kalibera, Michael Lawrence, Friedrich Leisch, Uwe Ligges, Thomas Lumley. Martin Mächler, Martin Morgan, Paul Murrell, Martyn Plummer, Brian Ripley, Deepayan Sarkar, Duncan Temple Lang, Luke Tierney y Simon Urbanek, y también han formado parte en el pasado: Heiner Schwarte (hasta 1999), Guido Masarotto (hasta 2003), Stefano Iacus (hasta 2014), Seth Falcon (hasta 2015) y Duncan Murdoch (hasta 2017). pero e desarrollo de R no ha sido solo por la contribución de esas 25 personas, y en el mismo han contribuido una serie de personas, cuyos nombres pueden verse en la entrada “Contributors” del Proyecto R, donde también aparece el listado del “R Core”).
  4. Ese mismo año, y ante la necesidad de alojar los programas en un espacio que permitiera la descarga por parte de los usuarios, Hornik y Leisch, de la Vienna University of Economics and Business, crean la Contributed R Archive Network (CRAN).
  5. En el año 2000, se lanza la versión 1.0.0, considerada como la primera versión que estaba lista para el público, la cual comenzó a ser utilizada cada vez por un mayor número de usuarios e instituciones.
  6. A partir de allí, y debido a la influencia de algunos estadísticos que escribieron artículos de impacto en la naciente disciplina “Ciencia de Datos”, R capta la atención de un grupo de personas que trabajaban en esta disciplina, algunos de los cuales han hecho grandes contribuciones al desarrollo de R.
  7. Debido a el desarrollo en esta nueva disciplina, comienza a editarse en el 2003, la primera revista científica en esta área, el Journal of Data Science, donde R ha sido una herramienta fundamental en un porcentaje importante de los artículos.
  8. La contribución permanente en los años posteriores de herramientas creadas por diversas personalidades de Ciencias de Datos, destacándose el aporte de Hadley Wickham, con una serie de herramientas sumamente útiles (dplyr, ggplot2, purrr y devtools, que en conjunto se les da el nombre de “tidyverse”) desarrolladas por RStudio, que también tiene disponible varias versiones del Ambiente de Desarrollo Integrado cuyo nombre es también RStudio, y que constituye un ambiente complementario al R de gran utilidad. Para mayor información se recomienda escuchar el episodio 62 de STAT + STORIES, titulado “R R R R R … Not Just For Pirates Anymore”.
  9. Otro aporte importante en esta área es el introducido por Julia Silge de Stack Overflow, con la creación del paquete tidytext. Para mayor información se recomienda escuchar el episodio 79 de STAT + STORIES, titulado “Analyzing Art Through Text Mining”.
  10. La creación de comunidades específicas de R, entre los que destacan la iniciativa R-LADIES liderada por Gabriela de Queiroz,

Para más detalles se recomienda leer el articulo de Thieme (2018) y escuchar la entrevista a Thieme “Happy Birthday to R”, episodio 63 de los podcast STAT + STORIES.

Otros aspectos importantes en la historia de R no reseñados por Thieme, son:

  1. La creación en el 2002 de la “R Foundation”, que tiene por objetivos: garantizar la viabilidad y sostenibilidad del proyecto, captar fondos para seguir con el desarrollo de R y administrar los derechos de autor del software y documentación del R.
  2. La planificación de reuniones científicas periódicas sobre R, comenzando en 1999 con la organización de talleres DSC, que se transformaron en el 2004 en las Conferencias UseR!, organizándose las primeras ediciones de cada evento en Viena, para luego alternar las sedes alrededor del mundo. Para más detalles puede consultar la entrada “Conferences” del menú del Proyecto R.
  3. La edición de una diversos medios de divulgación, comenzando en el año 2001 el boletín R News, que se transformó en el 2009 en la revista científica The R Journal.
  4. La gran cantidad de blogs sobre R.

Recursos de R.

Una de las desventajas de R es que tiene una curva de aprendizaje más empinada (es más difícil de aprender) que la mayoría de las herramientas estadísticas que constituyen la competencia (por ejemplo: SAS, SPSS o STATA), pero esta desventaja puede ser superada si se dedica suficiente tiempo a aprender esta poderosa herramienta (aspecto que no es exclusivo de R), y se utilizan eficientemente los diversos recursos disponibles que facilitan en aprendizaje.

Entre estos recursos podemos mencionar: los Task Views, los manuales, las viñetas, las ayudas, los libros, las revistas, las conferencias, las Cheat Sheets, los blogs, los recursos disponibles en GitHub, los cursos en linea en las plataformas de aprendizaje, los canales de Youtube, las comunidades de R, entre otros, sobre los cuales haremos algunos comentarios generales pero cada uno de ellos será desarrollado como nuevas entradas del blog,

Task Views.

Los Task Views son guía completas desarrolladas por conocedores o expertos sobre tópicos específicos que pueden ser accesados a través de la entrada “Task Views” de CRAN, o a través del paquete ctv, Para la fecha hay disponibles 39 Task Views.

Manuales.

Constituyen la fuente principal para aprender R, pero para muchos les resulta complicado para seguir los mismos, ellos están disponibles al realizar la instalación estándar de R o pueden ser accesados a través menú “Manuals” del Proyecto R o de CRAN.

Viñetas.

Para algunos paquetes de R, además de los manuales de los mismos, están disponibles algunas viñetas, que muestran las potencialidades del uso de algunas funciones de los paquetes que las contienen.

Ayudas.

R ofrece varios tipos de ayuda, incorporadas internamente, al efectuar la instalación de R, y sus paquetes, y también están disponibles en la entrada “Getting Help” del Proyecto R. En esta misma tónica, están disponibles varios motores de búsqueda que pueden ser accesados a través del menú “Search” del Proyecto R o de CRAN.

Libros.

Existen muchos libros disponibles que permiten una aproximación al R, y al uso de técnicas, métodos de diversas áreas usando R, algunos de estos textos tienen  versiones abiertas en linea, en acuerdo con las editoriales. Haciendo una búsqueda en internet se pueden encontrar varias selecciones de libros de R, y en el menú “Books” de la página del Proyecto R, se puede acceder a un listado de más de 100 libros.

Revistas.

Además de las revistas señaladas anteriormente en esta entrada, la revista oficial de R, The R Journal, y del Journal of Data Science, existen otras revistas científicas que publican frecuentemente artículos relacionados con R, uno de los que publica un mayor porcentajes de artículos de R es el Journal of Statistical Science, que al igual que los dos anteriores es de acceso libre.

Conferencias.

Cada vez se realizan más conferencias, talleres y reuniones regionales de R, que van desde las Conferencias avaladas por la R Foundation, hasta las organizadas por otros grupos.

Las Cheat Sheets.

Las Cheat Sheets son unas cartillas o guías compactas que permiten aproximarse los métodos y paquetes de R, en la página “RStudio Cheat Sheets” puede encontrarse una de Cheat Sheets, algunas de ellas desarrolladas por el equipo de RStudio, y otras contribuidas por terceros, pero no son las únicas disponibles en internet.

Blog.

Existen muchos blogs de R, uno de los más completos es R-Bloggers, que recopila información y noticias de R de 750 blogs, Les recomiendo además revisar los blogs incluidos en la entrada escrita por Anuj Agarwal para Feedspot titulada “Top 40 R Programming Blogs and Websites To Follow in 2019”.

Recursos disponibles en GitHub.

GitHub tiene alojados una serie de repositorios con valiosos recursos de R, incluyendo códigos, complementos a libros y otros materiales.

Cursos en linea en las plataformas de aprendizaje.

Existe una oferta grande de cursos y programas de especialización en las diversas plataformas de aprendizaje, algunas de ellas ofrecen cursos gratuitos (y pagos si se desea obtener un certificado), entre las que tenemos: Coursera, edX, UDACITY, FutureLearnMiríadaX, y otros que son  pagos, como por ejemplo los ofrecidos en Data Camp y Udemy. También están disponibles algunos cursos administrados directamente por algunos autores.

Canales de Youtube.

Existen varios canales de Youtube relacionados con R, pero la mayoría no son fáciles de encontrar, Anuj Agarwal de Feedspot presenta un lista de 4 canales, a la cual le ha puesto el título de “Top 5 R Programming YouTube Channels with R related stuffs, starting from Basic to Advanced Level Topics”, pero hay muchos canales más.

Las comunidades de R.

Otra forma de aprender R, y que son muy útiles para aclarar dudas, son las comunidades de R, cuyos canales de comunicación varían desde correos electrónicos hasta grupos en las distintas redes sociales.

Otras herramientas.

Existen otras páginas en la web, que resultan muy útiles para acceder a una gran cantidad de recursos, uno de ellos, con el cual me topé al finalizar esta entrada, es la compilación que hace Paul van der Laken acerca de cursos gratuitos, libros, tutoriales y cheat sheets en la entrada en su blog titulada “R resources (free courses, books, tutorials, & cheat sheets)”.

Mi experiencia con R.

En los primeros años del siglo XXI, yo era un usuario de S-Plus, que era una versión comercial del lenguaje S, y del cual había adquirido una licencia individual durante mi participación en el First Seattle Symposium of Biostatistics en el año 1995, la cual transformé a una licencia de laboratorio y se la doné al Instituto de Estadística Aplicada y Computación (IEAC) de mi Universidad, que se encargó de pagar la renovación de la licencia, hasta los primeros años del control de cambios implementado en Venezuela hace ya 16 años, y ante la imposibilidad de contar con la licencia de S-Plus, me vi forzado a migrar a R, que tenía una sintaxis similar a S-Plus, y cuyas primeras aproximaciones comenzaron al lanzarse la versión 1.0.0 en el año 2000, por lo que este cambio forzado no fue traumático.

A partir de este momento, R se convirtió en mi herramienta favorita para hacer análisis de datos y para trabajar en aplicaciones de mis áreas de investigación. Usando esta herramienta, tuve la oportunidad de dictar algunos cursos de R, algunos cursos de Análisis de Supervivencia usando R, incluyendo un curso que di en Viena en el segundo UseR! (Tutorial: Survival Analysis in R) y otro que dí en el Simposio de Estadística de la Universidad Nacional de Colombia.

También fui un donante de fondos para la R Foundation, hasta que las restricciones del control de cambios no permitieron seguir continuando con los aportes.

Hoy en día, más de 15 años después de comenzar a usar esta poderosa herramienta, la sigo usando (cada vez más), y sigo promoviendo su uso.

Referencia.

Ihaka, R. y Gentelman, R. (1996). R: A Language for Data Analysis and Graphics. Journal of Computational and Graphical Statistics, Volumen 5(3): 299-314. DOI: 10.1080/10618600.1996.10474713

Thieme, N. (2018). R generation. Significance, Volumen 15(4): 14-19. DOI: 10.1111/j.1740-9713.2018.01169.x

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s