r - 为什么 r 不排除带有过滤器的 NA
问题描述
在 RI 中有下面的 d 数据框,我在结果中得到 NA,因此 X>5 包括 NA。R不排除NA的原因是什么?
d =data.frame(group=c("NA","NA","a","b"),x = c(NA,NA,9,5),y = c(1,2,3,4))
d[d$x>5,]
我知道 dplyr 会排除它们。
解决方案
正确的语法是:
> d[which(d$x>5),]
group x y
3 a 9 3
如果您进行测试:
NA > 5
你得到输出:
[1] NA
和这里一样:
> d[NA,]
group x y
NA <NA> NA NA
NA.1 <NA> NA NA
NA.2 <NA> NA NA
NA.3 <NA> NA NA
推荐阅读
- r - 更改 R 中逻辑回归 (glm) 中使用的参考等位基因
- sqlite - 尝试插入空值时 SQLite 外键不匹配
- java - 我们能否以更简单的方式解决这个 Sock Merchant 问题?
- rdf - 创建简单的 OWL 本体
- r - 如何在闪亮的标签面板中对齐元素
- c++ - 转发声明专用模板时使用关键字导致错误
- angularfire - 具有多个条件的 AngularFireAuthGuard
- javascript - 如何将 each() 与 mouseenter、mouseover 和 data 属性一起使用
- c++ - 列出迭代器不兼容和算术溢出
- php - 为什么图像没有通过这个 php 代码上传