Differences between %.% (dplyr) and %>% (magrittr)

Ari B. Friedman picture Ari B. Friedman · May 13, 2014 · Viewed 24.6k times · Source

The dplyr package introduced the %.% operator to pass the left hand side as an argument of the function on the right hand side, similar to a *NIX pipe. The magrittr package is a much more lightweight package that exists to define only that pipe-like operator.

Yet one uses %.% and the other %>%.

Is there any difference between the two? Can I just use %>% even in dplyr code, or will that cause subtle bugs?

On inspecting the code, they take very different paths early on, so simple eyeball comparison would suggest that they're different. I haven't been able to find anything documented when I search the web for them, nor have I run across anything in the documentation itself.

Answer

Dirk Eddelbuettel picture Dirk Eddelbuettel · May 13, 2014

See the very first item in the current NEWS file:

dplyr now imports %>% from magrittr (#330). I recommend that you use this instead of %.% because it is easier to type (since you can hold down the shift key) and is more flexible