Languages that don’t begin by supporting pipes often eventually implement some version of them. In R, the magrittr package introduced the
%>%infix operator as a pipe operator and is most often pronounced as “then”. For example, “take the
mtcarsdata.frame, THEN take the
headof it, THEN…” and so on.
For a function to be pipe friendly, it should at least take a data object (often named
.data) as its first argument and return an object of the same type—possibly even the same, unaltered object. This contract ensures that your pipe-friendly function can exist in the middle of a piped workflow, accepting the input from its left-hand side and passing along output to its right-hand side.
Click through for a couple of examples. H/T R-Bloggers