magrittr - Ceci n'est pas un pipe

The magrittr package offers a set of operators which promote semantics that will improve your code by

  • structuring sequences of data operations left-to-right (as opposed to from the inside and out),

  • avoiding nested function calls,

  • minimizing the need for local variables and function definitions, and

  • making it easy to add steps anywhere in the sequence of operations.

The operators pipe their left-hand side values forward into expressions that appear on the right-hand side, i.e. one can replace f(x) with x %>% f, where %>% is the (main) pipe-operator.

Consider the example below. Four operations are performed to arrive at the desired data set, and they are written in a natural order: the same as the order of execution. Also, no temporary variables are needed. If yet another operation is required, it is straight-forward to add to the sequence of operations whereever it may be needed.

For a more detailed introduction see the vignette (vignette("magrittr")) or the documentation pages for the available operators:

%>% forward-pipe operator.
%T>% tee operator.
%<>% compound assignment pipe-operator.
%$% exposition pipe-operator.

  • magrittr
  • magrittr-package
library(magrittr) the_data <- read.csv('/path/to/data/file.csv') %>% subset(variable_a > x) %>% transform(variable_c = variable_a/veraiable_b) %>% head(100)
Documentation reproduced from package magrittr, version 1.5, License: MIT + file LICENSE

Community examples

Looks like there are no examples yet.