当仅将单个向量传递给逻辑和/或运算符时,运算符否定参数:
> x = c(F,T,T)
> `&`(x)
[1] TRUE FALSE FALSE
> `|`(x)
[1] TRUE FALSE FALSE
要使逻辑运算符作为幂等运算符工作,需要传递单个元素向量作为第二个参数:
> `&`(x,T)
[1] FALSE TRUE TRUE
> `|`(x,F)
[1] FALSE TRUE TRUE
当只有一个参数传递时,为什么逻辑运算符会否定它们的参数?
这在R3.2.1中作为bug报告的结果进行了修改。正如你所指出的,以前的行为没有什么意义: