在R编程中,any和|有什么区别? (或)布尔运算符?
In R programming, what is the difference between the any and | (or) Boolean operator?
(cond1 | cond2 | cond3 | ...)
表示"is one or more of a bunch of conditions true?"
any(cond1, cond2, cond3 ....)
表示"are any of the conditions true?"
所以我们在这里不是说同样的话吗?
使用一个比另一个有什么优势吗?
|
是矢量化的——它 returns 与最长输入长度相同的结果,如果需要将回收。
any
查看长度为 1 的所有输入和 returns 结果。
||
仅进行一次比较,使用其输入的第一个元素而不考虑其长度,returns 长度为 1 的结果。
x = c(FALSE, TRUE, FALSE)
y = c(FALSE, FALSE, FALSE)
any(x, y)
# [1] TRUE
## There's a TRUE in there somewhere
x | y
# [1] FALSE TRUE FALSE
## Only the 2nd index of the vectors contains a TRUE
x || y
# [1] FALSE
## The first position of the vectors does not contain a TRUE.
如果输入的长度都是1,那么x1 | x2 | x3
等价于x1 || x2 || x3
等价于any(x1, x2, x3)
。否则不予保证。
(cond1 | cond2 | cond3 | ...)
表示"is one or more of a bunch of conditions true?"any(cond1, cond2, cond3 ....)
表示"are any of the conditions true?"
所以我们在这里不是说同样的话吗?
使用一个比另一个有什么优势吗?
|
是矢量化的——它 returns 与最长输入长度相同的结果,如果需要将回收。
any
查看长度为 1 的所有输入和 returns 结果。
||
仅进行一次比较,使用其输入的第一个元素而不考虑其长度,returns 长度为 1 的结果。
x = c(FALSE, TRUE, FALSE)
y = c(FALSE, FALSE, FALSE)
any(x, y)
# [1] TRUE
## There's a TRUE in there somewhere
x | y
# [1] FALSE TRUE FALSE
## Only the 2nd index of the vectors contains a TRUE
x || y
# [1] FALSE
## The first position of the vectors does not contain a TRUE.
如果输入的长度都是1,那么x1 | x2 | x3
等价于x1 || x2 || x3
等价于any(x1, x2, x3)
。否则不予保证。