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)
x |
For |
A vector the same length as x
.
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
.
# `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)))
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.