Capítulo 2 El Tidyverso
“Tidyverso” proviene de la palabra en inglés Tidyverse
, y a su vez el prefijo “tidy”, significa ordenado. Tidyverse
esta conformado por un grupo de paquetes que comparten una misma filosofía acerca de los datos y programación en R (Wickham, 2014; Wickham et al., 2019b).
Los paquetes que conforman al Tidyverse
son readr, dplyr, tidyr, ggplot2, purrr, forcats, stringr, lubridate y tibble. Cada uno de estos paquetes mencionados se instalarán automáticamente al instalar el paquete tidyverse.
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.4 ✔ readr 2.1.4.9000
## ✔ forcats 1.0.0 ✔ stringr 1.5.1
## ✔ ggplot2 3.4.4 ✔ tibble 3.2.1
## ✔ lubridate 1.9.3 ✔ tidyr 1.3.0
## ✔ purrr 1.0.2
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
Ahora hablaremos algunos de estos paquetes, ya que el objetivo del libro no es basarnos en hablar sobre el mundo del tidyverso, si no, de un paquete específico que es ggplot2. En la parte 2 y sección 5 de este libro electrónico (https://bookdown.org/ansellbr/WEHI_tidyR_course_book/manipulating-data-with-dplyr.html), puede ayudarte a entender un poco más sobre su funcionalidad de dichos paquetes, ya mencionados.
2.1 readr
Este paquete permite importar y exportar distintos tipos de archivos. Si lo menciono primero, es porque lo estaremos utilizando muchas veces para leer nuestros datos. Si queremos importar un dato utilizaremos la función read_"tipo de dato" (csv, tsv, log, etc.)
, pero si queremos exportar ese mismo dato utilizaremos la función write_"tipo de dato" (csv, tsv, etc.)
(Wickham, Çetinkaya-Rundel, et al., 2023).
2.2 dplyr
Es un paquete de múltiples funciones que actúan en la manipulación de datos. Dichas funciones se les conocen como “verbos”, que pueden juntarse para obtener un resultado de interés (Peng, 2016; Wickham, Çetinkaya-Rundel, et al., 2023).
Estos “verbos” son
- select: Selecciona
columnas
, es decir las variables de tus datos. - filter: Si el anterior seleccionaba
filas
, esta función se encarga de seleccionar un subconjunto de filas, según la condición que le indiques. Aquí se utilizanoperadores lógicos
(&,!) yoperadores relacionales
(<, >, ==). - arrange: Permite reordenar las filas para cierta variable. Para que tus filas se ordenen de manera descendente, necistas adicionar el operador
desc()
, y si no agregas nada, el orden de tus datos serán de manera ascendente. - rename: Te permite
cambiar
el nombre de las variables de tus datos originales. - mutate: Permite
agregar
variables a partir de otra variable original de tus datos. Esta es una de las funciones de mucha utilidad. - summarise: Nos permite generar
datos estadísticos
como la media(mean), desviación estándar(sd) a partir de tus datos originales. - pipeline (%>% o |> ): Este operador te permite
enlazar
los “verbos” de dplyr.
2.3 tidyr
Permite crear datos ordenados, siendo las funciones principales pivot_longer
y pivot_wider
. La primera función transforma un dato ancho a uno largo, en cambio la otra función hace lo contrario(Wickham, Vaughan, et al., 2023a).
2.4 purrr
Genera bucles(loops
) a travez de la familia de funciones llamadas map(). Estos bucles ayudan a realizar una acción de interés múltiples veces, generados por la computadora (Wickham & Henry, 2023a).
2.5 tibbles
Es un data frame pero modernizado y mejorado. Las ventajas con la data frame es que nunca altera el tipo de entrada, los vectores de tipo cadena de texto no esta obligado a cambiar al tipo factor, muestra las primeras filas y todas las columnas de tus datos, entre otras carácterísticas (Wickham, Çetinkaya-Rundel, et al., 2023).
2.6 ggplot2
Es uno de los paquetes del tidyverso que te permite generar gráficos elegantes
y manejables
. Su popularidad se debe a que todos los gráficos se generan a travez de un sistema coherente conocido como la gramática de gráficos (Wickham, Çetinkaya-Rundel, et al., 2023). Esta “gramática de gráficos” es como una plantilla ordenada
, y si resaltó esta última palabra es porque ggplot2 genera las figuras mediante capas (Figura 2.1).

Figure 2.1: Gramática de gráficos de ggplot2
Te cuento una curiosidad, el paquete ggplot2 tiene dos funciones para crear gráficos que son qplot()
y ggplot()
, sin embargo, en este libro utilizaremos ggplot()
, porque es más flexible y a la vez robusto para generar los gráficos.