提问者:小点点

当R中只有一个参数时,为什么逻辑运算符会否定它们的参数?


当仅将单个向量传递给逻辑和/或运算符时,运算符否定参数:

> 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

当只有一个参数传递时,为什么逻辑运算符会否定它们的参数?


共1个答案

匿名用户

这在R3.2.1中作为bug报告的结果进行了修改。正如你所指出的,以前的行为没有什么意义: