可能重复:
R: subset() logical-and operator for chaining conditions should be & not &&
简短的(&
,|
)和长(&&
,||
)形式的AND,OR逻辑运算符在R?
例如:
x==0 & y==1
x==0 && y==1
x==0 | y==1
x==0 || y==1
我总是在代码中使用简短形式。它有任何障碍吗?
答案 0 :(得分:7)
&
和|
- 是元素方面的,可以与向量操作一起使用,而||
和&&
始终生成单个TRUE
或{ {1}}
FALSE
因此,> x <- 1:5
> y <- 5:1
> (x > 2) & (y < 3)
[1] FALSE FALSE FALSE TRUE TRUE
> (x > 2) && (y < 3) # here operaand && takes only 1'st elements from logical
# vectors (x>2) and (y<3)
> FALSE
和&&
通常用于||
语句中
处理长度为if (condition) state_1 else state_2