邏輯運算子
有兩種邏輯運算子:接受和返回任意長度的向量(元素運算子:!,|,&,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() 函式。