使用函数duplicated()时,返回FALSE表示重复的NA值

时间:2012-11-27 11:44:12

标签: r comparison duplicates missing-data

只是想知道为什么重复行为与NAs的行为方式相同:

> duplicated(c(NA,NA,NA,1,2,2))
[1] FALSE  TRUE  TRUE FALSE FALSE  TRUE

其实

> NA == NA
[1] NA

有没有办法实现重复标记NAs为假,像这样?

> duplicated(c(NA,NA,NA,1,2,2))
[1] FALSE  FALSE  FALSE FALSE FALSE  TRUE

1 个答案:

答案 0 :(得分:22)

您可以使用参数incomparables作为函数duplicated,如下所示:

> duplicated(c(NA,NA,NA,1,2,2))
[1] FALSE  TRUE  TRUE FALSE FALSE  TRUE
> duplicated(c(NA,NA,NA,1,2,2),incomparables=NA)
[1] FALSE FALSE FALSE FALSE FALSE  TRUE

它确定无法比较的值(在本例中为NA),并为这些值返回FALSE。另请参阅?duplicated