William Doane gives some tips on writing pipe-friendly functions in R:
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 themtcars
data.frame, THEN take thehead
of 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