The exposition pipe operator, `%$%`

, exposes the column names as R symbols within the left-hand side object to the right-hand side expression. This operator is handy when piping into functions that do not have a `data`

argument (unlike, say, `lm`

) and that don't take a data.frame and column names as arguments (most of the main dplyr functions).

The exposition pipe operator `%$%`

allows a user to avoid breaking a pipeline when needing to refer to column names. For instance, say you want to filter a data.frame and then run a correlation test on two columns with `cor.test`

:

```
library(magrittr)
library(dplyr)
mtcars %>%
filter(wt > 2) %$%
cor.test(hp, mpg)
#>
#> Pearson's product-moment correlation
#>
#> data: hp and mpg
#> t = -5.9546, df = 26, p-value = 2.768e-06
#> alternative hypothesis: true correlation is not equal to 0
#> 95 percent confidence interval:
#> -0.8825498 -0.5393217
#> sample estimates:
#> cor
#> -0.7595673
```

Here the standard `%>%`

pipe passes the data.frame through to `filter()`

, while the `%$%`

pipe exposes the column names to `cor.test()`

.

The exposition pipe works like a pipe-able version of the base R `with()`

functions, and the same left-hand side objects are accepted as inputs.