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
- Tener instalado R y el paquete magrittr
- Las ganas de aprender
Recomendado
- 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
.