Operador %>% (pipe) de magrittr

Hay paquetes geniales en R. Hay paquetes que facilitan nuestro trabajo. Y está magrittr. En esta entrada voy a explicar cómo utilizar el operador %>% y cómo esto nos ayuda a que nuestro código sea más legible.

Relacionado: TUTORIAL: Data wrangling en R con dplyr y tidyr - Parte 2

Requisitos

  1. Tener instalado R y el paquete magrittr
  2. Las ganas de aprender

Recomendado

  1. Utilizar RStudio

Primeros pasos

Normalmente, el primer argumento de una función es el más importante; es el argumento sobre el que queremos realizar una operación y los demás (si existen) suelen ser opciones. Por ejemplo, supongamos que queremos ver los nombres de un data.table en min?sculas

tolower(names(iris))
## [1] "sepal.length" "sepal.width"  "petal.length" "petal.width" 
## [5] "species"

Sin embargo, hacerlo de esta manera tiene el problema de que hay que anidar funciones, haciendo que la lectura del código sea más difícil. Para evitar esto, podemos encadenar funciones utilizando el operador %>% del paquete magrittr de la siguiente manera

library(magrittr)
iris %>% 
  names() %>% 
  tolower()
## [1] "sepal.length" "sepal.width"  "petal.length" "petal.width" 
## [5] "species"

Para leer este código podríamos decir:

Toma la tabla iris, luego obtén los nombres, y luego ponlos en minúsculas.

¿En qué consiste?

El operador %>%, llamado en inglés pipe (se pronuncia paip), toma el valor a su izquierda y lo mete en el primer argumento de la función a su derecha. De esta manera, x %>% f(y) es equivalente a f(x, y)

Conclusión

El operador magrittr puede ayudarnos a mejorar la legibilidad de nuestro código, al permitirnos encadenar operaciones. Esto será especialmente útil cuando estemos utilizando paquetes del tidyverse.