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