Skip to content
Prev 59195 / 63424 Next

New pipe operator

Just saw this on the R-devel news:


R now provides a simple native pipe syntax ?|>? as well as a shorthand 
notation for creating functions, e.g. ?\(x) x + 1? is parsed as 
?function(x) x + 1?. The pipe implementation as a syntax transformation 
was motivated by suggestions from Jim Hester and Lionel Henry. These 
features are experimental and may change prior to release.


This is a good addition; by using "|>" instead of "%>%" there should be 
a chance to get operator precedence right.  That said, the ?Syntax help 
topic hasn't been updated, so I'm not sure where it fits in.

There are some choices that take a little getting used to:

 > mtcars |> head
Error: The pipe operator requires a function call or an anonymous 
function expression as RHS

(I need to say mtcars |> head() instead.)  This sometimes leads to error 
messages that are somewhat confusing:

 > mtcars |> magrittr::debug_pipe |> head
Error: function '::' not supported in RHS call of a pipe

but

mtcars |> magrittr::debug_pipe() |> head()

works.

Overall, I think this is a great addition, though it's going to be 
disruptive for a while.

Duncan Murdoch

Thread (78 messages)

Duncan Murdoch New pipe operator Dec 4 Hiroaki Yutani New pipe operator Dec 4 Duncan Murdoch New pipe operator Dec 4 Dénes Tóth New pipe operator Dec 4 Sebastian Meyer New pipe operator Dec 4 Deepayan Sarkar New pipe operator Dec 4 iuke-tier@ey m@iii@g oii uiow@@edu New pipe operator Dec 4 Duncan Murdoch New pipe operator Dec 4 Duncan Murdoch New pipe operator Dec 4 iuke-tier@ey m@iii@g oii uiow@@edu New pipe operator Dec 4 Avi Gross New pipe operator Dec 4 Ivan Krylov New pipe operator Dec 4 Duncan Murdoch New pipe operator Dec 5 Hugh Parsonage New pipe operator Dec 5 Gabor Grothendieck New pipe operator Dec 5 iuke-tier@ey m@iii@g oii uiow@@edu New pipe operator Dec 5 John Mount New pipe operator Dec 5 Abby Spurdle New pipe operator Dec 5 Gregory R. Warnes New pipe operator Dec 5 Hiroaki Yutani New pipe operator Dec 5 Rui Barradas New pipe operator Dec 5 Jan Gorecki New pipe operator Dec 6 Dénes Tóth New pipe operator Dec 6 Avi Gross New pipe operator Dec 6 Duncan Murdoch New pipe operator Dec 6 Dénes Tóth New pipe operator Dec 6 Duncan Murdoch New pipe operator Dec 6 Gabor Grothendieck New pipe operator Dec 6 iuke-tier@ey m@iii@g oii uiow@@edu New pipe operator Dec 6 Gabor Grothendieck New pipe operator Dec 6 Avi Gross New pipe operator Dec 6 iuke-tier@ey m@iii@g oii uiow@@edu New pipe operator Dec 6 Gabriel Becker New pipe operator Dec 6 Dénes Tóth New pipe operator Dec 6 Gabor Grothendieck New pipe operator Dec 6 Gabriel Becker New pipe operator Dec 6 Gabor Grothendieck New pipe operator Dec 6 Bravington, Mark (Data61, Hobart) New pipe operator Dec 6 Gabriel Becker New pipe operator Dec 6 Gabor Grothendieck New pipe operator Dec 6 Duncan Murdoch New pipe operator Dec 7 Duncan Murdoch New pipe operator Dec 7 Gabor Grothendieck New pipe operator Dec 7 Gabor Grothendieck New pipe operator Dec 7 iuke-tier@ey m@iii@g oii uiow@@edu New pipe operator Dec 7 Deepayan Sarkar New pipe operator Dec 7 Gabor Grothendieck New pipe operator Dec 7 Deepayan Sarkar New pipe operator Dec 7 Peter Dalgaard New pipe operator Dec 7 Gabor Grothendieck New pipe operator Dec 7 Duncan Murdoch New pipe operator Dec 7 Gregory R. Warnes New pipe operator Dec 7 Peter Dalgaard New pipe operator Dec 7 Duncan Murdoch New pipe operator Dec 7 Duncan Murdoch New pipe operator Dec 7 iuke-tier@ey m@iii@g oii uiow@@edu New pipe operator Dec 7 Gabor Grothendieck New pipe operator Dec 7 Kevin Ushey New pipe operator Dec 7 Gabor Grothendieck New pipe operator Dec 7 Gabriel Becker New pipe operator Dec 7 Gabriel Becker New pipe operator Dec 7 Dénes Tóth New pipe operator Dec 7 Gabriel Becker New pipe operator Dec 7 Gabor Grothendieck New pipe operator Dec 8 Hadley Wickham New pipe operator Dec 8 Gabor Grothendieck New pipe operator Dec 8 Bravington, Mark (Data61, Hobart) New pipe operator Dec 8 Duncan Murdoch New pipe operator Dec 8 Bravington, Mark (Data61, Hobart) New pipe operator Dec 8 Jan van der Laan New pipe operator Dec 9 Duncan Murdoch New pipe operator Dec 9 Duncan Murdoch New pipe operator Dec 9 Jan van der Laan New pipe operator Dec 9 Duncan Murdoch New pipe operator Dec 9 Gabor Grothendieck New pipe operator Dec 9 Gabriel Becker New pipe operator Dec 9 Gabor Grothendieck New pipe operator Dec 9 Peter Dalgaard New pipe operator Dec 9