The magrittr
package contains a compound assignment infix-operator, %<>%
, that updates a value by first piping it into one or more rhs
expressions and then assigning the result. This eliminates the need to type an object name twice (once on each side of the assignment operator <-
). %<>%
must be the first infix-operator in a chain:
library(magrittr)
library(dplyr)
df <- mtcars
Instead of writing
df <- df %>% select(1:3) %>% filter(mpg > 20, cyl == 6)
or
df %>% select(1:3) %>% filter(mpg > 20, cyl == 6) -> df
The compound assignment operator will both pipe and reassign df
:
df %<>% select(1:3) %>% filter(mpg > 20, cyl == 6)