逻辑运算符
有两种逻辑运算符:接受和返回任意长度的向量(元素运算符:!,|,&,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() 函数。