Checks all non-missing values fall within range using
If inclusive
all(x[!is.na(x)] >= range[1] & x[!is.na(x)] <= range[2])
else
all(x[!is.na(x)] > range[1] & x[!is.na(x)] < range[2])
Value
The chk_
function throws an informative error if the test fails or
returns the original object if successful so it can used in pipes.
The vld_
function returns a flag indicating whether the test was met.
Examples
# chk_range
chk_range(0)
try(chk_range(-0.1))
#> Error in eval(expr, envir) : `-0.1` must be between 0 and 1, not -0.1.
# vld_range
vld_range(numeric(0))
#> [1] TRUE
vld_range(0)
#> [1] TRUE
vld_range(-0.1)
#> [1] FALSE
vld_range(c(0.1, 0.2, NA))
#> [1] TRUE
vld_range(c(0.1, 0.2, NA), range = c(0, 1))
#> [1] TRUE