(cond1 | cond2 | cond3 | ...)
意思是“一堆条件中的一个或多个是真的吗?”any(cond1, cond2, cond3 ....)
意思是“任何条件都是真的吗?”
因此,我们在这里不是说同样的话吗?
使用其中一个有什么优势吗?
(cond1 | cond2 | cond3 | ...)
意思是“一堆条件中的一个或多个是真的吗?”any(cond1, cond2, cond3 ....)
意思是“任何条件都是真的吗?”因此,我们在这里不是说同样的话吗?
使用其中一个有什么优势吗?
|
是矢量化的——它返回一个与最长输入长度相同的结果,并在需要时循环使用。
any
查看所有输入并返回长度为 1 的结果。
||
只进行一次比较,使用其输入的第一个元素而不管它们的长度,并返回长度为 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)
。否则,不保证。