-
当至少一个元素的
.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?。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。