[Rd] [External] brief update on the pipe operator in R-devel

Dirk Eddelbuettel edd @end|ng |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, <luke-tierney 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 non-standard cases
| > easy to see but still easy to write. This is now committed to R-devel.
| 
| 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 R-devel mailing list