vector1 = c(1,2,3,NA)
condition1 = (vector1 == 2)
vector1[condition1]
vector1[condition1==TRUE]
在上面的代码中,条件1是“FALSE TRUE FALSE NA”,
第 3 行和第 4 行都给了我结果“2 NA”
这不是我所期望的。
我想要值真正为“2”的元素,不包括 NA。
有人可以解释为什么 R 被设计为以这种方式工作吗?
以及如何使用简单的命令获得我想要的结果?
最佳答案
子集vector[NA]
将永远是 NA
因为NA
值未知,因此子集的结果也是未知的。 %in%
返回 FALSE
为 NA
,所以它在这里很有用。
vector1 = c(1,2,3,NA)
condition1 = (vector1 %in% 2)
vector1[condition1]
# [1] 2
关于r - 用条件子集向量(不包括 NA),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49890223/