6.2 Pipes

El objetivo de usar pipes es hacer el desarrollo de código más fácil de escribir, mas rápido de leer y más sencillo de dar mantenimiento.
Funciona con el operador forwad pipe
%>% que envía un valor a una función.

La función básica puede verse de la siguiente forma:
x %>% fequivale af(x).x %>% f(y)equivale af(x, y).x %>% f %>% g %>% hequivale ah(g(f(x))).
Colocación de valores en argumentos por posición se realiza con un punto .:
x %>% f(y, .)equivale af(y, x).x %>% f(y, z = .)equivale af(y, z = x)
Shortcut
El shortcut de forward pipe%>% es command/ctrl + shift + m
Ejemplos
Por ejemplo, en una función de un solo argumento.
pordos_fun <- function(base){
base*2
}
# Con operador pipe
4 %>% pordos_fun## [1] 8
# Equivalente a
pordos_fun(4)## [1] 8
Una función de dos argumentos, como la que se muestra en el siguiente ejemplo, envía el valor al primer argumento.
porexponente_fun <- function(base, exponente){
base*exponente
}
# Con operador pipe
4 %>% porexponente_fun(exponente = 2)## [1] 8
# Equivalente a
porexponente_fun(4, 2)## [1] 8
Otro ejemplo es anidar operaciones a un vector de valores numéricos.
# Con operador pipe
1:10 %>% range() %>% mean() %>% round()## [1] 6
# Equivalente a
round(mean(range(1:10)))## [1] 6
El paquete
dplyr funciona con pipes y esta pensado con una estructura de datos ordenada o tidy.