R para profesionales de los datos: una introducción
Introducción
Las herramientas ofimáticas habituales (y estamos hablando aquí esencialmente de Excel) para manipular datos no dan más de sí. Cada vez hay más datos, cada vez son más grandes y los análisis son, cada vez, más sofisticados. El profesional de hoy en día necesita renovar su utillaje.
R es una magnífica opción para llegar más allá, para ser más productivo. Uno de los ingredientes fundamentales de la productividad es la posibilidad de automatizar tareas: hace falta programar las que sean tediosas y repetitivas; hace falta familiarizarse con al menos un lenguaje de programación. Como R.
Existen otros, sin duda, con grandes méritos. Python es uno de ellos. Este libro propone R por varios motivos:
- Porque tiene un mercado real en la industria y la academia.
- Porque está especialmente indicado para la manipulación y el análisis de datos.
- Y porque, más específicamente, está especialmente indicado para el tipo de manipulaciones y análisis de datos que realizan los profesionales de los datos (p.e., responsables de márketing analítico, analistas de riesgos, etc.) en los organismos y empresas de hoy en día.
Contenido y plan del libro
Este libro está motivado por la experiencia del autor en entornos de trabajo similares a los descritos más arriba y cubre aquellos aspectos que ha visto que más demandaban sus colegas. Que son, esencialmente, cuatro:
- Crear visualizaciones de datos de alta calidad.
- Crear dashboards para visualizar y analizar datos.
- Crear informes automáticos.
- Disponer de herramientas de análisis estadístico para ahondar en el conocimiento de los datos.
Este libro se centra en los tres primeros, aunque hace una breve incursión en el último. El motivo para excluirlo es que exige no solo un par de capítulos en este libro sino una biblioteca entera que, seguro, desarrollarán mucho mejor otros autores.
Claro que son inalcanzables si el interesado no se familiariza con los prerrequisitos (tablas, vectores, programación) que son los mimbres con los que armar aquellos canastos. El plan del libro incluye el ubicar las recompensas lo más tempranamente posible para que el trayecto por los capítulos más áridos sean más llevaderos. Obviamente, eso deja muchos cabos sueltos que el autor espera que el lector, motivado por las aplicaciones, cubra de mejor grado. Por eso, además, cada sección termina con un apartado lleno de consejos y referencias para llegar más allá de lo que aquí se cuenta.
La obra deja fuera varios temas de interés como, por ejemplo:
- Las series temporales. Porque son objetos especiales que se manipulan y se analizan con herramientas específicas. Incluirlas contribuiría a confundir por acumulación de conceptos nuevos antes que a facilitar la transición de lector desde completo ignorante hasta usuario capaz de manejar R autónomamente.
- La manipulación de datos grandes. R sufre una no del todo justificada fama de tener problemas para manipular datos grandes (o medianos, i.e., datos con muchos registros pero que aún caben en la RAM de un ordenador moderno). Aunque existen extensiones ad hoc para procesarlos eficazmente, por el mismo motivo que antes, no se tratarán aquí.
- La estadística. R es también, entre otras muchas cosas, una herramienta para el análisis estadístico de datos. Pero todo lo que tiene que ver con la estadística viene justo después de lo que el libro trata. Incluso cuando toque temas de interés estadístico (p.e., la regresión lineal), lo hará más desde la perspectiva de su encaje en R que desde la descripción del aparataje matemático subyacente.
El contenido del libro no está ordenada por materias. De hecho, comparado con otras obras más formales, está desordenado. Ni siquiera comienza por lo más básico (p.e., vectores) sino por lo más familiar para su audiencia potencial: las tablas. Esto es así porque el libro plantea una carrera contrarreloj para alcanzar cuanto antes las recompensas anunciadas más arriba: gráficos, informes automatizados y dashboards.
El libro quiere dejar claro que R no es solo un lenguaje de programación: más bien, R es también un lenguaje de programación. El usuario habitual de R no programa propiamente sino que utiliza R interactivamente: ensaya, se equivoca y vuelve a probar. Solo cuando termina el ciclo y el resultado es satisfactorio, produce un resultado final. Que, usualmente, no es un programa sino, p.e., un informe. Por eso la parte relativa a la programación se relega a la parte final.
El material cubierto por el libro lleva al lector hasta el punto en el que puede comenzar a aplicar métodos estadísticos (y de la llamada ciencia de datos) por su cuenta. El último capítulo es una introducción a la materia. En concreto, a cómo se aplicar esos métodos con R. La gran lección que aprender es que gran parte de los métodos estadísticos habituales no solo están disponibles, sino que tienen un tratamiento homogéneo y previsible en R.
Existe un principio director en Python: debería existir un método obvio (y preferiblemente solo uno) de hacer las cosas. En R no es así: existen tal vez demasiadas maneras alternativas de hacer las cosas y eso es un problema, un problema muy desconcertante, para el principiante. No obstante, por motivos pedagógicos, el libro tratará de presentar una y solo una de las formas de resolver un determinado problema: la que el autor, falible, considere más natural. De todos modos, el autor espera que el lector sea capaz, al final de la obra, de dar con, aplicar, evaluar y comparar las distintas alternativas.
RStudio y la instalación del entorno
El libro es eminentemente práctico y exige que el lector no solo vaya ejecutando el código que se presenta de ejemplo sino que resuelva los problemas que a lo largo de la exposición se le plantean. Para eso es necesario tener R instalado.
Instalación de R y RStudio
La instalación de R está documentada en todas partes. Puede descargarse de https://cran.r-project.org
para instalarlo luego como cualquier programa. Para muchos sistemas operativos eso no es siquiera necesario porque R está disponible en la mayor parte de los repositorios habituales de programas y librerías. Por ejemplo, en Ubuntu y similares, suele bastar con ejecutar
sudo apt-get install r-base
Suele publicarse una nueva versión de R cada seis meses. Es conveniente utilizar siempre la última versión. Entre otros motivos, porque arregla los errores que los usuarios van detectando.
Hoy en día, la mejor plataforma para utilizar R (sobre todo para el principiante) es RStudio1. RStudio es un IDE muy popular y que ofrece una entorno prácticamente idéntico en todos los sistemas operativos para utilizar R.
Brevísima introducción a RStudio
Esta es la única sección del libro en el que se recomienda un consultar un videotutorial al respecto.
RStudio, por defecto, tiene cuatro paneles. El panel inferior izquierdo es una consola de R. En ella se puede escribir y ejecutar código. R muestra también en ella los resultados obtenidos.
El panel superior izquierdo es un editor de código. Los ficheros que se abran y se editen aparecerán en él dentro de sus correspondientes pestañas. Es imperativo aprender a usar algunos de los atajos de teclado más comunes2. P.e., Control-Enter
ejecuta la línea de código en la que se sitúa el cursor: la copia en la consola, la ejecuta y muestra los resultados obtenidos.
Los paneles de la derecha son menos importantes. El superior contiene un listado de las variables en el entorno y un histórico de comandos ejecutados. De entre todas las pestañas que aparecen en el inferior, las más usadas generalmente son:
- Files: da acceso al sistema de ficheros del disco duro
- Plots: aloja los gráficos que cree R
- Help: muestra la página de ayuda de las funciones cuando la solicite el usuario