Je suis cet exemple, le server.R , le fichier est ici .
Je prévois de faire un filtre similaire, mais je ne sais plus ce que %>%
fait.
# Apply filters
m <- all_movies %>%
filter(
Reviews >= reviews,
Oscars >= oscars,
Year >= minyear,
Year <= maxyear,
BoxOffice >= minboxoffice,
BoxOffice <= maxboxoffice
) %>%
arrange(Oscars)
L’opérateur infixe %>%
ne fait pas partie de la base R mais est en fait défini par le paquetage magrittr
( CRAN ) et est très utilisé par dplyr
( CRAN ).
Cela fonctionne comme une pipe, d’où la référence au célèbre tableau de Magritte La trahison des images .
Ce que fait la fonction est de passer le côté gauche de l'opérateur au premier argument du côté droit de l'opérateur. Dans l'exemple suivant, la trame de données iris
est transmise à head()
:
library(magrittr)
iris %>% head()
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1 5.1 3.5 1.4 0.2 setosa
2 4.9 3.0 1.4 0.2 setosa
3 4.7 3.2 1.3 0.2 setosa
4 4.6 3.1 1.5 0.2 setosa
5 5.0 3.6 1.4 0.2 setosa
6 5.4 3.9 1.7 0.4 setosa
Ainsi, iris %>% head()
est équivalent à head(iris)
.
Souvent, %>%
est appelé plusieurs fois pour "chaîner" des fonctions ensemble, ce qui permet d'obtenir le même résultat que l'imbrication. Par exemple, dans la chaîne ci-dessous, iris
est passé à head()
, puis le résultat est passé à summary()
.
iris %>% head() %>% summary()
Ainsi, iris %>% head() %>% summary()
est équivalent à summary(head(iris))
. Certaines personnes préfèrent chaîner à imbriquer car les fonctions appliquées peuvent être lues de gauche à droite plutôt que de l'intérieur.