2012-11-27 53 views
5

只是想知道爲什麼重複的行爲是爲NAS的方式做:返回FALSE用於複製NA值使用函數複製時,()

> 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

'duplicated'標記所述第二(第三,第四,等等)出現作爲重複的,但不包括第一。你可以用'is.na()'來做你所要求的。 – Andrie

+0

謝謝。主要問題是爲什麼把NAs標記爲重複是有意義的。 – jamborta

回答

18

您使用參數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

+0

謝謝。正是我所期待的。 – jamborta

+0

+1閱讀說明書:-) – Andrie

+2

我已經知道了,我發誓,我真的知道這一點! ;) –

相關問題