Infix operator for composing a lambda expression

R/dplyr_hof.R

%->%

Description

Infix operator that allows a lambda expression to be composed in R and be translated to Spark SQL equivalent using ’ dbplyr::translate_sql functionalities

Usage

 
params %->% ... 

Arguments

Arguments Description
params Parameter(s) of the lambda expression, can be either a single parameter or a comma separated listed of parameters in the form of .(param1, param2, ... ) (see examples)
Body of the lambda expression, must be within parentheses

Details

Notice when composing a lambda expression in R, the body of the lambda expression must always be surrounded with parentheses, otherwise a parsing error will occur.

Examples

library(sparklyr)
 
 
a %->% (mean(a) + 1) # translates to <SQL> `a` -> (AVG(`a`) OVER () + 1.0) 
#> Warning: Missing values are always removed in SQL aggregation functions.
#> Use `na.rm = TRUE` to silence this warning
#> This warning is displayed once every 8 hours.
#> <SQL> a -> (AVG(`a`) OVER () + 1.0)
 
.(a, b) %->% (a < 1 && b > 1) # translates to <SQL> `a`,`b` -> (`a` < 1.0 AND `b` > 1.0) 
#> <SQL> (a, b) -> (`a` < 1.0 AND `b` > 1.0)