The tumbling sum is calculated as the partial cumulative sum of a vector until a threshold is exceeded. Once this happens, the tumbling sum is calculated from zero again. exceeds_tumbling_sum() returns TRUE whenever this threshold is hit/exceeded and FALSE otherwise.

exceeds_tumbling_sum(x, threshold, inclusive = TRUE)

Arguments

x

a numeric vector

threshold

a numeric scalar

inclusive

a logical scalar. If TRUE inclusive bounds are used (i.e. the threshold is checked with >=), otherwise exclusive

Value

a logical vector of the same length as x that is TRUE whenever threshold was exceeded and FALSE otherwise

Details

This is for example useful if you have high frequency GPS positions and want to keep only points that are at least x seconds apart.

See also

MESS::cumsumbinning() does something very similar, but returns group indices instead of a logical vector.

Examples

exceeds_tumbling_sum(c(1, 3, 3, 3), 4)
#> [1] FALSE TRUE FALSE TRUE