Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

fold

Efficient Fold, Reduce, Accumulate, Combine of a Vector


Description

Efficient Fold, Reduce, Accumulate, Combine of a Vector

Usage

fold(x, f, left = TRUE, unname = TRUE, threshold = 1000L)

Arguments

x

A vector.

f

A binary function, i.e. a function take takes two arguments.

left

If TRUE, vector is combined from the left (the first element), otherwise the right (the last element).

unname

If TRUE, function f is called as f(unname(y), x[[ii]]), otherwise as f(y, x[[ii]]), which may introduce name "y".

threshold

An integer (>= 2) specifying the length where the recursive divide-and-conquer call will stop and incremental building of the partial value is performed. Using threshold = +Inf will disable recursive folding.

Details

In order for recursive folding to give the same results as non-recursive folding, binary function f must be associative with itself, i.e. f(f(x[[1]], x[[2]]), x[[3]]) equals f(x[[1]], f(x[[2]]), x[[3]]).

This function is a more efficient (memory and speed) of Reduce(f, x, right = !left, accumulate = FALSE), especially when x is long.

Value

A vector.


future.apply

Apply Function to Elements in Parallel using Futures

v1.7.0
GPL (>= 2)
Authors
Henrik Bengtsson [aut, cre, cph], R Core Team [cph, ctb]
Initial release

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.