首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NA == 1检查返回NA

NA == 1检查返回NA
EN

Stack Overflow用户
提问于 2016-08-22 11:23:06
回答 1查看 259关注 0票数 3

有人能解释一下为什么:

代码语言:javascript
复制
NA == 1 #NA #expect FALSE
NA == NA #NA #expect TRUE
1 == NA #NA #expect FALSE
NA == TRUE #NA #expect FALSE

这种用法的一个活生生的例子是df[df$SomeAttribute == 1,],其中一些df$SomeAttribute具有NA值。

我知道人们可以使用which(df$SomeAttribute == 1),只是质疑NA上逻辑操作的正确性。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-22 11:27:13

NA仅仅意味着一个值丢失/未知。因此,NA == 1产生NA。与==比较的结果是未知的,因为我们不知道缺少的值是1还是其他什么。

同样的推理也适用于其他测试,这就是为什么它们都返回NA的原因。

正如@akrun在注释中指出的那样,检查值x是否缺失的正确方法是使用函数is.na(x)x == NA类型的比较不会给出所需的结果。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39078276

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档