2.4 逻辑向量
和数值向量一样, R 可以操作逻辑向量。一个逻辑向量的元素可以被赋予的值有TRUE
,FALSE
和NA
(为“不可得到”(not available),参见下一小节)。前两个值可以分别简写为T
和F
。 注意T
和F
仅是被默认设置为TRUE
和FALSE
的等价变量,不是系统保留字(reserved word),因此可以被用户重写。正因为这样,你应该尽量使用TRUE
和FALSE
。
逻辑向量可以由条件式(conditions)产生。例如
> temp <- x > 13
将temp
设置为一个长度和x
一致的向量,其中的元素值为FALSE
就表示对应位置x
的元素不符合判断条件而TRUE
则表示符合。
R 的逻辑运算符有<
,<=
,>
,>=
,以及判断是否严格相等的==
和判断不相等的!=
。 此外,如果c1
和c2
是逻辑不等式,那么c1 & c2
是它们的交集(“与运算”),c1 | c2
是它们的并集(“或运算”),!c1
是c1
的非运算。
在常规算术运算中如使用逻辑变量,在这种情况下它们会被强制转换成数值变量,FALSE
变 成0
,TRUE
变成1。但是有些情况下,逻辑向量和它们强制转换成的数值向量(numeric counterparts)不等价, 具体的例子可以看下一小节。