Comunidad

01 de octubre de 2019 | por: Comunicación EADIC | 0 comentarios

Nuestro amigo R: Tidyverse, una visión comparativa

Después de soportar las envestidas de Python, los muchachos de Rstudio se propusieron sacar una librería que hiciera las delicias de todos los programadores y de los científicos de datos, para demostrarles a todos que ni mucho menos R está acabado, creando entre más de 14.000 librerías la que según todos está siendo la más aclamada del momento. Momento que dura ya más de 3 años.

El resultado, que ya hemos comentado en otro post, ha sido Tidyverse, un compendio de utilidades que se encarga de recopilar la mayor parte de las tareas que se tienen que realizar en un proyecto de ciencia de datos desde principio a fin como bien puede verse en su página oficial: https://www.tidyverse.org/ en donde cuenta con un manual completo y gratuito que puede consultarse en este enlace: https://r4ds.had.co.nz/

 

Figura 1: Ciclo de vida de los proyectos de data science, adaptado a tidyverse.

 

En la figura 1, hemos copiado todo el ciclo de vida que Hadley Wichkam recomienda.

1.- Para empezar los datos tienen que ser importados al entorno de Rstudio y para ello, cuenta con la ayuda de la librería readr y que añade muchas facilidades sobre la importación de datos. De hecho Rstudio la ha incorporado como una opción más del menú de FILE.

Mejora la facilidad y la memorización de la sintaxis tratando con todo tipo de ficheros: csv, Excel, logfiles, etc. Y aquí tenemos que decir que los programadores de Rstudio se han preocupado mucho en reducir la velocidad de ejecución de las órdenes, sobre todo mirando de reojo a pandas, resultando una de las principales ventajas que ofrece el paquete completo.

Destacamos también el tratamiento que hace de las tibbles de tidyverse, una versión un poco más pobre en teoría que los famosos data-frames, pero que permiten acelerar la velocidad de ejecución de las órdenes con una mínima pérdida de funcionalidad, con una rapidez que aún no se ha logrado en Jupyter Notebook con python 3.

 

2.- Después contamos con la librería dplyr como evolución de la antigua pero aún vigente plyr, y que los propios autores definen como un lenguaje de la manipulación de datos, totalmente similar al famoso SQL de los grandes gestores de bases de datos transaccionales.

La tarea que tiene que realizar es la preparación elegante o tidy de los datos para poder explorarlos después con los gráficos, y en donde la introducción del famoso pipeline “%>%” permite poder escribir órdenes complejas de una manera que no se podía realizar con las antiguas órdenes de los data-frames.

El objetivo que se persigue es doble: reducir el tiempo de programación y de ejecución, permitiendo al mismo una lectura rápida e inequívoca de todo el código. Objetivo que quizás, sólo se ha podido alcanzar en algunos entornos SQL pero nunca en entornos open-source dedicados al data-science.

 

3.- Como visualización de datos contamos con el histórico ggplot2 definido desde siempre, no como unas instrucciones de gráfico, sino como una completo gramática de los mismos que puede ser ejecutadas por capas.

Esto significa que para su programación es necesario concebir un gráfico, primero con sus datos, luego con sus representaciones más sencillas, luego con sus opciones de división, presentación, escala, etc. De esa manera, se permite que con un pensamiento estructurado se pueda pensar en la visualización de datos igual que en un concepto de comunicación sin palabras cubriendo todo lo que pueda exigir la EDA más exigente, y que es perfectamente integrable dentro de Power-BI como Microsoft se ha preocupado bien de realizar.

 

Conclusión:

Simplemente bastaría con éstas 3 librerías para que el universo elegante, es decir, tidyverse, fuera una herramienta completamente necesaria para cualquier programador R que se precie, debido a que no existe calidad de acabado semejante, en ninguna librería de python que aspire a realizar la misma función. Aunque tenga la desgracia de contar con muchos menos seguidores.

 

Autor: Pedro José Jiménez López, docente del Máster en Big Data y Business Intelligence de EADIC.

 

Comentarios

Deja tu comentario

You must be logged in to post a comment. So log in!

EADIC Blog