我首先想知道为什么FALSE | NA会回来
#> [1] NA,同时
TRUE | NA返回
#> [1] TRUE。
然后我读到了这样的解释:“因为缺少元素的值在NA | FALSE中很重要,所以这些元素是缺失的”。
所以我尝试了TRUE | FALSE和FALSE | TRUE。实际上,两者都返回#>[1] TRUE。
因为NA | FALSE的结果依赖于NA的值,所以返回NA是有意义的,而NA的值对于NA | TRUE是否为真并不重要。
但是,有人能解释为什么TRUE | FALSE返回TRUE吗?
谢谢!
发布于 2020-01-15 07:44:09
本质上,它询问是否至少有一方是TRUE。由于有一个TRUE值,所以结果也是TRUE。
这与以下情况相同:
1 > 0 | 0 > 2
[1] TRUE反过来说,当它询问所有各方是否都是TRUE时
TRUE & FALSE
[1] FALSE与数值例子一样:
1 > 0 & 0 > 2
[1] FALSE发布于 2020-01-15 07:41:56
对于操作TRUE,只要它的条件中至少有一个条件是 TRUE.,输出就是。例如,TRUE | FALSE| FALSE | FALSE给TRUE,但是FALSE | FALSE| FALSE | FALSE给FALSE,因为它没有TRUE条件。
因为NA可以是TRUE或者FALSE,但是你不知道它到底是什么。
从这个意义上说,NA.
FALSE | TRUE (给出TRUE)或FALSE | FALSE (给出FALSE),这是两种可能性,但仍然不可用,因此FALSE | NA为TRUE | NA返回FALSE | NA,因为它不依赖于d32(d33,因为TRUE或FALSE不影响结果)H 236F 237https://stackoverflow.com/questions/59746856
复制相似问题