En la entrada anterior, Luis ha hablado de R (http://www.r-project.org/) como un gran lenguaje de programación para el análisis de datos.
Como varias personas (incluidos periodistas) me han preguntado sobre el tema, resumo aquí brevemente los argumentos a favor de R y porque emplear Excel, en general, para el trabajo empírico es mala idea.
1) R es un proyecto de código abierto. Cualquiera puede ir a la página web y bajarse R de manera gratuita. No solo eso, sino que uno puede analizar el código original, lo que permite identificar posibles bugs. No sería ni la primera ni la segunda vez que los programas comerciales tienen errores. En este blog, donde hemos tenido muchas dudas sobre la legislación actual de derechos de propiedad intelectual, R es la mejor prueba de que otras maneras de innovar son posibles (y mejores).
2) En RStudio uno tiene un IDE sencillo pero poderoso, que permite al usuario escribir código de manera eficiente.
3) Al ser un lenguaje de “scripts” permite una reproducción y documentación de actividades mucho más sencilla que programas de “pinchar” como Excel. Además, obliga a pensar.
4) De igual manera, al manejar “scripts” y tener una historia en memoria de todos los comandos empleados, es mucho más difícil cometer errores como el de R&R (personalmente creo que el problema de R&R fue que un momento pusieron nuevas celdas en la hoja de Excel por el motivo que fuera y Excel “decidió” cambiar la formula).
5) R tiene miles de paquetes (packages en inglés) que permiten extensiones de todo tipo.
6) Entre esos paquetes existen muchos de gráficos, como ggplot2, que permiten dibujar gráficos preciosos.
7) Al ser un proyecto de código abierto, han participado en el mismo estadísticos y científicos de primera línea, lo que ha generado una calidad del resultado mucho más alta que el que jamás hubiera podido conseguir una empresa comercial y la implementación de los más recientes métodos estadísticos, en especial en campos como data mining que ahora están explotando.
8) Existe una amplia comunidad de usuarios. Por ejemplo, yo todas las mañanas miro R-bloggers.com, pero de igual manera hay decenas de libros, cursos y demás medios para aprender a manejarlo, muchos de ellos gratuitos.
9) Es un lenguaje muy elegante: explícitamente orientado a objetos y con una fuerte estructura de programación funcional.
10) Excepto por algunas partes del diseño (como el tratamiento de las matrices), su sintaxis es intuitiva y más bonita que la de Matlab.
11) Los lenguajes estadísticos alternativos, como Stata, demuestran una edad considerable (Stata realmente de los 80 del siglo pasado), que los hace menos adecuados para enseñar a los nuevos estudiantes.
12) Varios de los paquetes existentes, como knitr, permiten la generación automática de informes en html o latex para distribución a terceros (si, Word es otra cosa horrible, Latex y un buen editor de texto -yo utilizo TextWrangler- son una mucho mejor alternativa).
13) Interactúa de manera sencilla con C++.
14) Es facilmente paralelizable, en especial en una GPU.
Todas estas razones me llevan a concluir que R es la mejor manera de efectuar análisis estadístico. Mientras que emplear Excel puede funcionar en unos cuantos casos, es jugar con la suerte y exponerse a riesgos innecesarios.
Concluyo con dos cosas. La primera es un ejemplo de R en acción, con este gráfico de los datos subyacentes en el análisis de R&R en R más una función de regresión de alisado.
Este gráfico demuestra que:
1) Una imagen vale siempre más que mil palabras y que, normalmente, siempre que se pueda hacer un gráfico es preferible a una tabla.
2) Que en los datos existe una pequeña correlación negativa entre deuda/PIB y crecimiento. Por supuesto ni es tan grande como en el análisis original de R&R ni esto implican ninguna causalidad.
La segunda son recomendaciones de un curso sencillito y libros (en order de más simple a más completo) para el que quiera aprender más:
1) R in Action. La página web del autor está muy bien para un tutorial.
2) R in a Nutshell.
5) The R Book.
Finalmente un libro sobre RStudio.
En todo caso, uno pone "R" en google y le saldrán miles de páginas web de todo tipo.
Pd 1). Para los que quieran mirar al futuro: Julia puede ser el nuevo estandard en 5 años. Un tutorial aquí.
Pd 2). No, no creo que Python sea mejor que R para análisis de datos.
Pd 3). (Nueva) se me olvidaba: R funciona fenomenal con Git y con Github. A mis estudiantes siempre les insisto en la importancia de emplear source control.