當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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?。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。