2012-11-27 55 views
5

क्यों डुप्लिकेट किए गए जिस तरह से यह NAS के साथ करता है बर्ताव करता है बस सोच:जब समारोह दोहराया का उपयोग()

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

वास्तव में

> NA == NA 
[1] NA 

वहाँ के लिए एक रास्ता है, जहां डुप्लिकेट अंक एनएएस को झूठी के रूप में प्राप्त करें, इस तरह?

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

'डुप्लिकेट 'द्वितीय (और तीसरा, और चौथा, आदि) घटनाओं को डुप्लिकेट के रूप में चिह्नित करता है, लेकिन पहले नहीं। आप जो भी पूछते हैं उसे करने के लिए आप 'is.na()' का उपयोग कर सकते हैं। – Andrie

+0

धन्यवाद। मुख्य सवाल यह है कि एनएएस को डुप्लिकेट के रूप में चिह्नित करना क्यों समझ में आता है। – jamborta

उत्तर

18

आप इस तरह समारोह duplicated के लिए तर्क incomparables का उपयोग करें:

> 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

मुझे यह पहले से ही पता था, मैं कसम खाता हूं, मुझे वास्तव में यह पता था! ;) –

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^