邏輯運算子
有兩種邏輯運算子:接受和返回任意長度的向量(元素運算子:!
,|
,&
,xor()
)和僅計算每個引數中的第一個元素的運算子(&&
,||
)。第二種主要用作 if
函式的 cond
引數。
邏輯運算子 | 含義 | 句法 |
---|---|---|
! | 不 | !X |
& | 元素(向量化)和 | x&y |
&& | 和(僅限單個元素) | x && y |
元素(向量化)或 | ||
XOR |
元素(向量化)異或 | 異或(X, Y) |
請注意,||
運算子評估左側條件,如果左側條件為 TRUE,則永遠不會評估右側。如果第一個是複雜操作的結果,這可以節省時間。當第一個引數的第一個元素為 FALSE 時,&&
運算子同樣會返回 FALSE 而不評估第二個引數。
> x <- 5
> x > 6 || stop("X is too small")
Error: X is too small
> x > 3 || stop("X is too small")
[1] TRUE
要檢查值是否合乎邏輯,可以使用 is.logical()
函式。