[Rd] [External] brief update on the pipe operator in Rdevel
Dirk Eddelbuettel
edd @endng rom deb@n@org
Tue Jan 12 21:00:43 CET 2021
On 12 January 2021 at 20:38, Iñaki Ucar wrote:
 On Tue, 12 Jan 2021 at 20:23, <luketierney using uiowa.edu> wrote:
 >
 > After some discussions we've settled on a syntax of the form
 >
 > mtcars > subset(cyl == 4) > d => lm(mpg ~ disp, data = d)
 >
 > to handle cases where the pipe lhs needs to be passed to an argument
 > other than the first of the function called on the rhs. This seems a
 > to be a reasonable balance between making these nonstandard cases
 > easy to see but still easy to write. This is now committed to Rdevel.

 Interesting. Is the use of "d =>" restricted to pipelines? In other
 words, I think that it shouldn't be equivalent to "function(d)", i.e.,
 that this:

 x < d => lm(mpg ~ disp, data = d)

 shouldn't work.
Looks like your wish was already granted:
> mtcars > subset(cyl == 4) > d => lm(mpg ~ disp, data = d)
Call:
lm(formula = mpg ~ disp, data = subset(mtcars, cyl == 4))
Coefficients:
(Intercept) disp
40.872 0.135
> d => lm(mpg ~ disp, data = d)
Error in `=>`(d, lm(mpg ~ disp, data = d)) : could not find function "=>"
> x < d => lm(mpg ~ disp, data = d)
Error in `=>`(d, lm(mpg ~ disp, data = d)) : could not find function "=>"
>
Dirk

https://dirk.eddelbuettel.com  @eddelbuettel  edd using debian.org
More information about the Rdevel
mailing list