pipeR Tutorial

Argument-based pipeline

Argument-based pipeline is an initial value and a series of pipeline expressions input as arguments.

For the following example written with %>>%,

mtcars$mpg %>>%
  sample(size = 10000, replace = TRUE) %>>%
  density(kernel = "gaussian") %>>%
  plot(col = "red", main = "density of mpg (bootstrap)")

we can rewrite it with pipeline() by writing each partial function as an argument.

pipeline(mtcars$mpg,
  sample(size = 10000, replace = TRUE),
  density(kernel = "gaussian"),
  plot(col = "red", main = "density of mpg (bootstrap)"))

Internally, pipeline() translate such a function call into expressions connected by %>>% so as to produce the same result.

In this case, pipeline(x, ...) works in a way that x is regarded as the initial input of the pipeline, and ... receives a series of expressions to transform the previous result sequentially. The syntax for %>>% also works here. For example,

pipeline(mtcars$mpg,
  (? length(.)),
  sample(size = 10000, replace = TRUE),
  (~ mtcars_sample),
  density(kernel = "gaussian"),
  plot(col = "red", main = "density of mpg (bootstrap)"))

The (? expr) syntax and (~ symbol) syntax work exactly the same way as in pipeline built by %>>%.