Photo by Christin Hume on Unsplash

Ciencia de datos en R: Tidyverse

--

La ciencia de datos no se limita a una sola herramienta, espacio o lenguaje de programación. Es diverso, versátil y audaz, al igual que cada una de las personas que se adentran en esta área de estudio.

Para quienes comienzan a informarse sobre los temas propios de la ciencia de datos los términos que se utilizan pueden ser muy abstractos, casi como aprender un nuevo idioma. Es por eso que este artículo está enfocado hacia personas que inician en el mundo de la ciencia de datos específicamente con el lenguaje de programación R y aunado a esto, desean tener un primer vistazo a herramientas que pueden serles de utilidad en la ciencia de datos. En esta ocasión nos centraremos en la recopilación de información general sobre el Tidyverse.

¿Qué es el Tidyverse?

Para dar respuesta a este interrogante primero es importante aclarar que R es un entorno y lenguaje de programación, comúnmente efectuado para el análisis estadístico de datos, junto con la construcción de gráficos. También es necesario entender que cuando se habla de un paquete (package) en este contexto específico, se refiere a un conjunto de funciones interrelacionadas que permiten entre otras cosas aumentar las funcionalidades que por defecto tiene R. En la mayoría de los casos los paquetes traen documentación de ayuda, bases de datos y fragmentos de código que ejemplifican sus funciones principales. (Fernández, 2020)

Aclarado lo anteriormente mencionado, es posible definir el Tidyverse como un conjunto de paquetes que están disponibles en R. Está compuesto específicamente por ocho paquetes principales, también cuenta con otros paquetes de uso especializado. Sin embargo, para efectos de este articulo nos vamos a centrar en los ocho principales (ggplot2, dplyr, tidyr, readr, purr, tibble, stringr, forcats). (R Studio, s.f)

Cada uno de los paquetes mencionados anteriormente cuentan con diferentes funciones que son de gran utilidad en la ciencia de datos, son particularmente adecuados para la manipulación de data tidy. Entre sus principales funciones se puede mencionar la importación, modelado, transformación, visualización y comunicación de la información. Los paquetes que conforman el Tidyverse funcionan en armonía, con representaciones de datos comunes y diseño de API (Application Programming Interface). (R Studio, s.f)

Se puede mencionar como una ventaja su fácil instalación, ya que según la página principal del Tidyverse, para la obtención de todos los paquetes solo se necesita la ejecución de la siguiente línea de código: install. packages (“tidyverse”). Posteriormente, para su utilizar los paquetes es necesario escribir: library(tidyverse) para así poder cargar el Tidyverse principal y poder hacer que esté disponible en la sesión actual de R en la que se está trabajando. (R Studio, s.f)

Photo by Emile Perron on Unsplash

¿Quiénes componen el Tidyverse?

Como se mencionó anteriormente el Tidyverse se compone de ocho paquetes principales con utilidades especificas en lo que a la ciencia de datos se refiere. En este apartado se mencionan cada uno de ellos junto con una breve caracterización de las funciones específicas para las que fueron diseñados:

1. ggplot2

Está especializado en la creación de gráficos avanzados de forma declarativa. Según Zubcoff (2017) al utilizar ggplot2 en realidad lo que hacemos es crear un contenedor, al que le tenemos que agregar la información de los datos que vamos a usar, los ejes que vamos a representar y una capa por cada uno de los gráficos que se quieran dibujar en esos ejes.

Para más información se puede visitar el siguiente link: https://ggplot2.tidyverse.org/

2. dplyr:

Según Jiménez (2017) el paquete dplyr como tal no proporciona una nueva funcionalidad a R, ya que todo lo que se puede realizar utilizándolo también se puede hacer usando la sintaxis básica de R. La “gracia” de utilizar este paquete es que aporta una gramática de manipulación de datos y operaciones con data frames (particularmente verbos). La funcionalidad de esto es que permite comunicar por medio del código que es lo que se está haciendo en los data frames.

Puede visitar el siguiente enlace si desea obtener más información de este tema: https://dplyr.tidyverse.org/

3. tidyr:

A grandes rasgos la funcionalidad de tidyr es que proporciona un conjunto de funciones para facilitar el orden de los datos con los que se está trabajando. Se utiliza de una forma coherente en la que cada variable va en una columna, por lo que valga la redundancia, cada columna es una variable. (R Studio, s.f)

En el siguiente enlace puede obtener más información al respecto: https://tidyr.tidyverse.org/

4.readr:

Este paquete brinda una forma eficiente de lectura de datos rectangulares, específicamente en formatos csv, tsv, fwf, entre otros. Su diseño permite analizar de forma flexible diferentes tipos de datos. Según Wickham & Grolemund (2017) en este paquete todas las funciones mantienen una sintaxis muy similar, lo cual es una gran ventaja para el usuario ya que una vez que se comprenda una función, estos conocimientos van a poder ser replicados en la utilización de las demás funciones en readr.

Utilizando el enlace próximo puede tener acceso a más información: https://readr.tidyverse.org/

5. purr:

La utilización de purr puede ayudar a mejorar el conjunto de herramientas de programación funcional (FP) que normalmente se tiene en R, ya que brinda un conjunto consistente entre sí de herramientas para trabajar con funciones y vectores. Parte de lo que esta herramienta promete es que luego de aprender sus conceptos básicos, así como las diversas funciones presentes en él, usted como usuario entre otras cosas, va a ser capaz de reemplazar muchos engorrosos bubles “for” con un código más fácil de escribir para el usuario y más claro de entender para un eventual lector. (R Studio, s.f)

Visite el siguiente enlace para obtener más información de este tema: https://purrr.tidyverse.org/

6. tibble:

El paquete tibble es una reinvención moderna del data.frame, es un cambio necesario al marco de datos tradicional de R. Según Wickham & Grolemund (2017), mantiene las funciones o características que han demostrado ser efectivas y descarta las que no. Algunos de los cambios significativos es que no cambia nombres o tipos de variables y no hace coincidencias parciales, lo que obliga al usuario a enfrentar estos problemas desde el inicio, pero a largo plazo lo obliga de cierta forma a generar un código más limpio desde el comienzo.

Para más información se puede visitar el siguiente link: https://tibble.tidyverse.org/

7. stringr:

Las cadenas juegan un papel importante en la ciencia de datos ya sea para tareas de limpieza o para la preparación de los datos. Con un paquete como stringr es posible acceder a un conjunto de funciones diseñadas para hacer el trabajo lo más simple posible. Dichas funciones están centradas en la manipulación de las cadenas más importantes y de uso común. Está construido a partir de otro paquete llamado stringi, por lo que ambos paquetes mantienen convenciones similares lo que hace que una vez el usuario entienda y domine stringr, el uso de stringi se va a facilitar significativamente. (R Studio, s.f)

Utilizando el enlace próximo puede tener acceso a más información: https://stringr.tidyverse.org/

8. forcats:

Por último, tenemos el paquete forcats que proporciona un conjunto de herramientas de gran utilidad para el trabajo con factores en R. Es relevante aclarar que en R los factores se usan para trabajar con variables categóricas que tienen un conjunto fijo y conocido de valores posibles. (Wickham & Grolemund 2017)

Puede visitar el siguiente enlace si desea obtener más información de este tema: https://forcats.tidyverse.org/

¿Qué te pareció la información recopilada? Deja en los comentarios tus impresiones u opiniones con respecto al uso del Tidyverse en la ciencia de datos.

Referencias bibliográficas

Fernández M (2020). Ventajas de R como herramienta para el Análisis y Visualización de datos en Ciencias Sociales. Revista Científica de la UCSA, 7(2), 97–111. Recuperado de: https://revista.ucsa-ct.edu.py/ojs/index.php/ucsa/article/view/38/35

Jimenez Chura, A. C. (2017). Análisis predictivo para los procesos de admisión de la Universidad Nacional del Altiplano-Puno. Tesis para optar el grado académico de: Doctoris Scientiae en ciencias de la computación. Universidad Nacional del Altiplano. Puno, Perú. Recuperado de: http://repositorio.unap.edu.pe/handle/UNAP/6212

R Studio (s.f) Tidyverse. Recuperado de: https://tidyverse.tidyverse.org/

R Studio (s.f) Tidyverse packages. Recuperado de: https://www.tidyverse.org/packages/#core-tidyverse

Wickham, H & Grolemund, G (2017) R for Data Science: visualize, model, transform tidy and import data. O’Reilly. Recuperado de: https://r4ds.had.co.nz/index.html

Zubcoff, J. (2017). Curso Herramientas básicas para Data Science. Módulo 4. Gráficos avanzados con ggplot. Universidad de Alicante. Recuperado de: https://rua.ua.es/dspace/bitstream/10045/69767/1/Modulo_4_-_Graficos_avanzados_con_ggplot2.pdf

--

--

Ximena Lizano Delgadillo
Cientificas de Datos Costa Rica

Estudiante de Ingeniería Industrial en Universidad de Costa Rica (UCR)