In our wrapr
pipe RJournal article we used piping into ggplot2
layers/geoms/items as an example.
Being able to use the same pipe operator for data processing steps and for ggplot2
layering is a question that comes up from time to time (for example: Why can’t ggplot2 use %>%?). In fact the primary ggplot2
package author wishes that magrittr
piping was the composing notation for ggplot2
(though it is obviously too late to change).
There are some fundamental difficulties in trying to use the magrittr
pipe in such a way. In particular magrittr
looks for its own pipe by name in un-evaluated code, and thus is difficult to engineer over (though it can be hacked around). The general concept is: pipe stages are usually functions or function calls, and ggplot2
components are objects (verbs versus nouns); and at first these seem incompatible.
However, the wrapr
dot-arrow-pipe was designed to handle such distinctions.
Let’s work an example.
Continue reading Piping into ggplot2