Whenever one condition is true, check other logical conditions also hold
Source:R/quantifiers.R
whenever.Rd
Designed as a helper function for check_that()
, this function checks
that whenever a certain condition is observed, other expected conditions
hold as well.
Arguments
- is_observed
A logical vector indicating the when the observed cases of interest.
- then_expect
A logical vector indicating the conditions to be checked for those observed cases in
is_observed
.- ...
A set of qualifying logical conditions (e.g.,
at_least = .50
) to be checked in conjunction withthen_expect
.
Value
A logical value indicating whether all specified conditions in
then_expect
hold true, whenever is_observed
is TRUE.
Details
This function is designed as a helper function for check_that()
. It is
useful for checking, whenever an event or condition of interest
(is_observed
) is true, that certain logical conditions
(then_expect
) also hold true. You can provide additional qualifiers
(...
) to clarify how often then_expect
must resolve to TRUE.
Examples
# whenever() is designed to work with check_that()
df <- data.frame(x = 1:5, y = 6:10)
df |>
check_that(
whenever(is_observed = x > 3, then_expect = y > 8),
whenever(x %in% 2:3, y > 6, at_least = .50) # qualifying condition
)
#> ✔ all data checks passing
# whenever() can also work outside check_that()
x <- 1:5
y <- 6:10
whenever(x > 3, y > 9, at_least = 1 / 2) # TRUE
#> [1] TRUE