Pipe a data frame to a function whose argument pip

2020-04-05 08:08发布

问题:

How can one pipe a data frame to a function whose argument pipes a dot?

mpg %>% rbind(., . %>% rev())

Error in rep(xi, length.out = nvar) : attempt to replicate an object of type 'closure'

Another example:

mpg %>%
  {
    . %>% arrange(manufacturer)
  }

Functional sequence with the following components:

  1. arrange(., manufacturer)

Use 'functions' to extract the individual functions.

回答1:

Wrap the dot to be piped in parentheses like (.):

mpg %>% rbind(., (.) %>% rev())

Or, for lambda function:

mpg %>%
  {
    (.) %>% arrange(manufacturer)
  }