every: Do every, some, or none of the elements of a list satisfy a...

View source: R/every-some-none.R

everyR Documentation

Do every, some, or none of the elements of a list satisfy a predicate?

Description

  • some() returns TRUE when .p is TRUE for at least one element.

  • every() returns TRUE when .p is TRUE for all elements.

  • none() returns TRUE when .p is FALSE for all elements.

Usage

every(.x, .p, ...)

some(.x, .p, ...)

none(.x, .p, ...)

Arguments

.x

A list or vector.

.p

A predicate function (i.e. a function that returns either TRUE or FALSE) specified in one of the following ways:

  • A named function, e.g. is.character.

  • An anonymous function, e.g. ⁠\(x) all(x < 0)⁠ or function(x) all(x < 0).

  • A formula, e.g. ~ all(.x < 0). You must use .x to refer to the first argument). Only recommended if you require backward compatibility with older versions of R.

...

Additional arguments passed on to .p.

Value

A logical vector of length 1.

Examples

x <- list(0:10, 5.5)
x |> every(is.numeric)
x |> every(is.integer)
x |> some(is.integer)
x |> none(is.character)

# Missing values are propagated:
some(list(NA, FALSE), identity)

# If you need to use these functions in a context where missing values are
# unsafe (e.g. in `if ()` conditions), make sure to use safe predicates:
if (some(list(NA, FALSE), rlang::is_true)) "foo" else "bar"

purrr documentation built on Aug. 10, 2023, 9:08 a.m.