Issu du package magrittr et disponible dans le tidyverse, le pipe vous permet de passer de :
library(tidyverse)
data("population")
head(summarise(group_by(filter(population, year > 1999),country),moyenne = mean(population)))
à
population %>%
filter(year > 1999) %>%
group_by(country) %>%
summarise(moyenne = mean(population)) %>%
head()
Plus clair, n’est-ce pas !
Alors, comment ça marche ? C’est très simple : l’élément à gauche de %>% se retrouve en premier argument de la fonction à droite. Autrement dit, f(x,y) s’écrit x %>% f(y).
Comment faire si l’élément de gauche n’est pas le premier argument de celui de droite ? Vous pouvez y faire référence en le remplaçant par un point :
list(c(1,2,3), c(4,5,6), c(8,9,10)) %>%
lapply(FUN = mean, .)