cumall {dplyr} | R Documentation |
Cumulativate versions of any, all, and mean
Description
dplyr provides cumall()
, cumany()
, and cummean()
to complete R's set
of cumulative functions.
Usage
cumall(x)
cumany(x)
cummean(x)
Arguments
x |
For |
Value
A vector the same length as x
.
Cumulative logical functions
These are particularly useful in conjunction with filter()
:
-
cumall(x)
: all cases until the firstFALSE
. -
cumall(!x)
: all cases until the firstTRUE
. -
cumany(x)
: all cases after the firstTRUE
. -
cumany(!x)
: all cases after the firstFALSE
.
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)))
[Package dplyr version 1.1.4 Index]