R

Introducción al Tidyverse

La preparación de los datos es una de las tareas más tediosas y frustrantes a las que nos enfrentamos los científicos de datos. En R tenemos una colección de paquetes que nos permite realizar estas tareas de una forma eficiente: el Tidyverse. En esta introducción a Tidyverse quiero explicar qué es el Tidyverse y cuales son los paquetes que los forman. Dejando para futuras entradas ejemplos de uso concretos de cada uno de los paquetes que forman parte del Tidyverse.

¿Qué es el Tidyverse?

El Tidyverse es una colección de paquetes de R que comparten una filosofía y API común para el tratamiento de datos de tipo tabular. A los que se les llama “tidy data” (datos ordenados).

La filosofía básica de las funciones de los paquetes del Tidyverse es recibir datos “tidy” y devolver como resultados datos del mismo tipo. Al ser los datos de entrada y salida de las funciones del mismo tipo es posible encadenar diferentes funciones para realizar así tareas complejas de una forma eficiente. Por ejemplo, filtrar, agrupar y obtener los estadistas de un conjunto de datos, tarea que se puede realizar con encadenando tres funciones diferentes.

Ventajas del Tidyverse

El uso del Tidyverse ofrece ciertas ventajas respecto a trabajar solamente con la base de R y algunos paquetes sueltos. Entre las que se puede destacar:

  1. Los paquetes del Tidyverse se basan en unas convenciones y flujo de trabajo estándar, por lo que una vez que se comprenden los fundamentos es más fácil aprender a usar nuevos paquetes e incluirlos en los flujos de trabajo existentes.
  2. Muchas estructuras de datos existentes en R se pueden utilizar tal cual en el Tidyverse (como los data.frame) o transformas a un formato adecuado. Lo que facilita el uso del código y procesos ya existentes.
  3. El uso de las tuberías (pipeline) hacen que cada paso de la manipulación y análisis de datos sea fácil de comprender, incluso para usuarios con poca experiencia en R y el Tidyverse.
  4. Las tuberías son un ejemplo fantástico de programación funcional, lo que permite comprender y aplicar este paradigma de programación.

Instalación en R

Para acceder al Tidyverse se pueden instalar cada unos de los paquetes que forman parte de este en nuestro entorno de R. Aunque es más fácil instalar el paquete Tidyverse y este ya instalar todos los paquetes necesarios. Tarea que se puede escribiendo el siguiente comando en una sesión de R:

install.packages("tidyverse")

Ahora se puede cargar el paquete en una sesión de R, lo que producirá una salida como la siguiente:

── Attaching packages ─────── tidyverse 1.3.0 ──
✓ ggplot2 3.3.3 ✓ purrr 0.3.4
✓ tibble 3.0.5 ✓ dplyr 1.0.3
✓ tidyr 1.1.2 ✓ stringr 1.4.0
✓ readr 1.4.0 ✓ forcats 0.5.0
── Conflicts ────────── tidyverse_conflicts() ──
x dplyr::filter() masks stats::filter()
x dplyr::lag() masks stats::lag()

No debemos preocuparnos por los conflictos ya que lo único que indica es que las funciones filtre() y lag() han reemplazados en la sesión a las de la base de R.

Puede que algunos de estos paquetes ya no suenan porque puede ser que ya llevamos tiempo utilizándolos sin saber que forma parte de Tidyverse. Algo que es bueno ya que nos indicará qué conocemos, por lo menos en parte, la filosofía de este conjunto de paquetes.

Los paquetes del Tidyverse

Tal como se ha visto en la sesión anterior al iniciar el Tidyverse en su versión actual se cargan ocho paquetes. Siendo estos:

  • ggplot2: permite crear elegantes representaciones de datos, ofreciendo la posibilidad de una personalización extrema de los gráficos.
  • tibble: implementación de una estructura de datos que es una versión moderna y mejorada de los tradicionales data.frame.
  • tidyr: permite realizar transformaciones eficientes de los datos, cómo puede ser la conversión de filas en columnas.
  • readr: facilita la lectura de archivos de texto plano, como es el caso de los archivos CSV.
  • purrr: facilita el trabajo tanto con vectores como con funciones.
  • dplyr: permite la manipulación de los conjuntos de datos utilizando para ello un lenguaje de acciones sobre los mismos. Facilitando las tareas más habituales como son la creación de variables, selección, filtrado, resumen de los datos.
  • stringr: facilita enormemente el trabajo con datos categóricos y cadenas de texto.
  • forcats: contiene múltiples funciones para trabajar con datos categóricos.

Además de estos se pueden encontrar en el CRAN más paquetes que comparten la misma filosofía. Entre los destinados a la lectura de datos podemos destacar: readxl (Excel) y haven (SAS o SPSS). Por otro lado, para la manipulación de datos podemos encontrar: lubridate (fechas), –hms (horas, minutos, segundos) –y blob (datos binarios).

Conclusiones

En esta entrada hemos visto una introducción al Tidyverse sabiendo lo que es. Dejando para futuras entradas ejemplos de uso de cada uno de estos paquetes.

Imagen de 139904 en Pixabay

¿Te ha parecido de utilidad el contenido?

Daniel Rodríguez

Share
Published by
Daniel Rodríguez
Tags: Tidyverse

Recent Posts

Data Lake y Data Warehouse: diferencias, usos y cómo se complementan en la era del dato

En la era del dato, las organizaciones se enfrentan al reto de gestionar volúmenes masivos…

3 días ago

Documentar tu API de Express con TypeScript usando OpenAPI (Swagger)

En la serie Creación de una API REST con Express y TypeScript construimos una API…

5 días ago

Curiosidad: El sesgo de supervivencia, o por qué prestar atención sólo a los que “llegaron” puede engañarte

Durante la Segunda Guerra Mundial, la Fuerza Aérea de Estados Unidos quería reforzar sus aviones…

1 semana ago

Cómo abrir una ventana de Chrome con tamaño y posición específicos desde la línea de comandos en Windows

En muchas situaciones —ya sea para grabar un tutorial, tomar capturas de pantalla profesionales, probar…

2 semanas ago

La Paradoja del Cumpleaños, o por qué no es tan raro compartir fecha de nacimiento

Imagínate en una sala con un grupo de personas, por ejemplo, en una oficina, un…

2 semanas ago

Programador de tareas de Windows: Guía definitiva para automatizar tu trabajo (BAT, PowerShell y Python)

En el trabajo diario con ordenadores, es común encontrarse con tareas repetitivas: realizar copias de…

3 semanas ago

This website uses cookies.