在R中,(F&NA)是F但是(T&NA)是NA - 为什么? [重复]

问题描述 投票:2回答:1

这个问题在这里已有答案:

为什么在R这样呢?

> F & NA
[1] FALSE
> T & NA
[1] NA

我希望代码的第一行也可以评估为NA。人们告诉我'这只是R'的奇怪行为,但还有其他一些概念吗?

r logical-operators na
1个回答
6
投票

如果你有一个AND(&)语句,其中一个值为false,那么另一个值是什么并不重要,答案就是假的。 NA值意味着缺少一个值,但是未观察到的值必须是true或false,并且无论哪种方式都会返回错误。

但是如果其中一个值为true,那么只有当第二个值也为真时,AND才会为真。但是在这种情况下,缺失值(NA)可能是真或假,因此无法确定表达式是否为真。因此,R必须传播NA值。

© www.soinside.com 2019 - 2024. All rights reserved.