-
當至少一個元素的
.p
為TRUE
時,some()
返回TRUE
。 -
對於所有元素,當
.p
為TRUE
時,every()
返回TRUE
。 -
對於所有元素,當
.p
為FALSE
時,none()
返回TRUE
。
參數
- .x
-
列表或向量。
- .p
-
通過以下方式之一指定的謂詞函數(即返回
TRUE
或FALSE
的函數):-
命名函數,例如
is.character
。 -
匿名函數,例如
\(x) all(x < 0)
或function(x) all(x < 0)
。 -
一個公式,例如
~ all(.x < 0)
。您必須使用.x
來引用第一個參數)。僅當您需要向後兼容舊版本的 R 時才推薦。
-
- ...
-
傳遞給
.p
的其他參數。
例子
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"
相關用法
- R purrr accumulate 累積向量縮減的中間結果
- R purrr imap 將函數應用於向量的每個元素及其索引
- R purrr list_transpose 轉置列表
- R purrr as_vector 將列表強製轉換為向量
- R purrr map_if 有條件地將函數應用於向量的每個元素
- R purrr map2 映射兩個輸入
- R purrr array-coercion 強製數組列出
- R purrr auto_browse 包裝一個函數,以便在出錯時自動 browser()
- R purrr pluck 安全地獲取或設置嵌套數據結構深處的元素
- R purrr insistently 將函數轉換為等待,然後在錯誤後重試
- R purrr map_depth 在給定深度映射/修改元素
- R purrr list_simplify 將列表簡化為原子或 S3 向量
- R purrr rerun 多次重新運行表達式
- R purrr quietly 包裝一個函數來捕獲副作用
- R purrr list_flatten 壓平列表
- R purrr pmap 同時映射多個輸入(“並行”)
- R purrr possibly 包裝函數以返回值而不是錯誤
- R purrr head_while 查找全部滿足謂詞的頭/尾。
- R purrr rbernoulli 從伯努利分布生成隨機樣本
- R purrr rate-helpers 創建延遲率設置
- R purrr keep_at 根據元素的名稱/位置保留/丟棄元素
- R purrr keep 根據元素的值保留/丟棄元素
- R purrr transpose 轉置列表。
- R purrr flatten 將列表的列表展平為簡單的向量
- R purrr detect 查找第一個匹配的值或位置
注:本文由純淨天空篩選整理自Hadley Wickham等大神的英文原創作品 Do every, some, or none of the elements of a list satisfy a predicate?。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。