【发布时间】:2014-05-24 00:49:30
【问题描述】:
我有以下向量:
x <- c(3, 7, NA, 4, 8)
我只想知道向量中NA 的索引。例如,如果我想知道7 的索引,下面的代码就可以了:
> which(x == 7)
[1] 2
我觉得奇怪的是,在尝试查找 NA 的索引时运行相同的代码并没有给我想要的结果。
> which(x == NA)
integer(0)
我也尝试了以下方法,但它不起作用:
> which(x == "NA")
integer(0)
您的帮助将不胜感激。
编辑
@ccapizzano 已经在下面回答了这个问题,但是谁能解释为什么上面的代码不起作用?
【问题讨论】:
-
@Ben,很好地利用了金徽章的超能力。
-
@SavedByJESUS
"NA"是字符,NA是特殊类型的变量。无法使用==比较NA。为此,您拥有is.na功能。使用==与NA相比的任何内容都将导致NA(您想要索引而不是NA)。尝试以下操作:NA == "NA"ANDNA == NA