当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R purrr every 列表中的每个元素、部分元素还是没有一个元素满足谓词?


  • 当至少一个元素的 .pTRUE 时,some() 返回 TRUE

  • 对于所有元素,当 .pTRUE 时,every() 返回 TRUE

  • 对于所有元素,当 .pFALSE 时,none() 返回 TRUE

用法

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

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

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

参数

.x

列表或向量。

.p

通过以下方式之一指定的谓词函数(即返回 TRUEFALSE 的函数):

  • 命名函数,例如is.character

  • 匿名函数,例如\(x) all(x < 0)function(x) all(x < 0)

  • 一个公式,例如~ all(.x < 0) 。您必须使用.x 来引用第一个参数)。仅当您需要向后兼容旧版本的 R 时才推荐。

...

传递给 .p 的其他参数。

长度为 1 的逻辑向量。

例子

x <- list(0:10, 5.5)
x |> every(is.numeric)
#> [1] TRUE
x |> every(is.integer)
#> [1] FALSE
x |> some(is.integer)
#> [1] TRUE
x |> none(is.character)
#> [1] TRUE

# Missing values are propagated:
some(list(NA, FALSE), identity)
#> [1] NA

# 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"
#> [1] "bar"

相关用法


注:本文由纯净天空筛选整理自Hadley Wickham等大神的英文原创作品 Do every, some, or none of the elements of a list satisfy a predicate?。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。