cumall function

Cumulativate versions of any, all, and mean

Cumulativate versions of any, all, and mean

dplyr provides cumall(), cumany(), and cummean() to complete R's set of cumulative functions.

cumall(x) cumany(x) cummean(x)

Arguments

  • x: For cumall() and cumany(), a logical vector; for cummean() an integer or numeric vector.

Returns

A vector the same length as x.

Cumulative logical functions

These are particularly useful in conjunction with filter():

  • cumall(x): all cases until the first FALSE.
  • cumall(!x): all cases until the first TRUE.
  • cumany(x): all cases after the first TRUE.
  • cumany(!x): all cases after the first FALSE.

Examples

# `cummean()` returns a numeric/integer vector of the same length # as the input vector. x <- c(1, 3, 5, 2, 2) cummean(x) cumsum(x) / seq_along(x) # `cumall()` and `cumany()` return logicals cumall(x < 5) cumany(x == 3) # `cumall()` vs. `cumany()` df <- data.frame( date = as.Date("2020-01-01") + 0:6, balance = c(100, 50, 25, -25, -50, 30, 120) ) # all rows after first overdraft df %>% filter(cumany(balance < 0)) # all rows until first overdraft df %>% filter(cumall(!(balance < 0)))
  • Maintainer: Hadley Wickham
  • License: MIT + file LICENSE
  • Last published: 2023-11-17