This function provides a lower-level API for calling Arrow functions by their string function name. You won't use it directly for most applications. Many Arrow compute functions are mapped to R methods, and in a dplyr evaluation context, all Arrow functions are callable with an arrow_ prefix.

call_function(
  function_name,
  ...,
  args = list(...),
  options = empty_named_list()
)

Arguments

function_name

string Arrow compute function name

...

Function arguments, which may include Array, ChunkedArray, Scalar, RecordBatch, or Table.

args

list arguments as an alternative to specifying in ...

options

named list of C++ function options.

Value

An Array, ChunkedArray, Scalar, RecordBatch, or Table, whatever the compute function results in.

Details

When passing indices in ..., args, or options, express them as 0-based integers (consistent with C++).

See also

Arrow C++ documentation for the functions and their respective options.

Examples

a <- Array$create(c(1L, 2L, 3L, NA, 5L))
s <- Scalar$create(4L)
call_function("coalesce", a, s)
#> Array
#> <int32>
#> [
#>   1,
#>   2,
#>   3,
#>   4,
#>   5
#> ]

a <- Array$create(rnorm(10000))
call_function("quantile", a, options = list(q = seq(0, 1, 0.25)))
#> Array
#> <double>
#> [
#>   -3.9411974697670966,
#>   -0.6929810668944784,
#>   -0.005887608823773977,
#>   0.6761403099027603,
#>   3.8281722759645618
#> ]