是否有用于布尔运算的内置“并行”函数?

San*_*ago 3 boolean r function logical-operators

我正在寻找一个类似于pmaxandpmin但用于布尔运算的函数。

例如:

parallel_and(
  c(TRUE, TRUE, TRUE, TRUE),
  c(TRUE, TRUE, TRUE, FALSE),
  c(TRUE, TRUE, FALSE, TRUE),
  c(TRUE, FALSE, TRUE, TRUE)
)
Run Code Online (Sandbox Code Playgroud)

预期输出为:

# [1]  TRUE FALSE FALSE FALSE
Run Code Online (Sandbox Code Playgroud)

magrittr::and是一个别名,`&`因此只接受两个向量(我想避免在我的代码中包含额外的依赖项)。

Sté*_*ent 7

你可以做

bools <- list(
  c(TRUE, TRUE, TRUE, TRUE),
  c(TRUE, TRUE, TRUE, FALSE),
  c(TRUE, TRUE, FALSE, TRUE),
  c(TRUE, FALSE, TRUE, TRUE)
)

Reduce(`&`, bools)
Run Code Online (Sandbox Code Playgroud)