Inspired by reduce() from the purrr package
reduce(.x, .f, ..., .init)A list or atomic vector.
A 2-argument function. The function will be passed the accumulated value as the first argument and the "next" value as the second argument.
Additional arguments passed on to .f.
If supplied, will be used as the first value to start
the accumulation, rather than using x[[1]]. This is useful if
you want to ensure that reduce returns a correct value when .x
is empty. If missing, and x is empty, will throw an error.
Jonathon Love jon@thon.cc