NaN और NA में क्या अंतर है?


48

मैं जानना चाहूंगा कि कुछ भाषाओं जैसे R में NA और NaN दोनों क्यों हैं। क्या अंतर हैं या क्या वे समान रूप से समान हैं? क्या वास्तव में NA होना आवश्यक है?


5
मैं कहूँगा कि NA एक "प्लेसहोल्डर" से अधिक है; NaN (IEEE) अंकगणितीय उद्देश्यों के लिए है।
JM

@JM। संक्षेप में बताने का अच्छा तरीका है।
सनकूलू डिस

और वहाँ Inf भी है, जो कि उदाहरण के लिए खड़ा है जैसे 1/0 ...
Karsten W.

यह यहाँ प्रलेखन में समझाया गया है
गूँग - मोनिका

1
मुझे लगता है कि यह सवाल स्टैक ओवरफ्लो के लिए बेहतर है, लेकिन यह माइग्रेशन बहुत पुराना है।
जच

जवाबों:


44

? is.nan

? is.na

? NA

? NaN

अपने सवाल का जवाब देना चाहिए।

लेकिन, संक्षेप में:

NaN का अर्थ है - नंबर नहीं के लिए खड़ा है00

NA को आम तौर पर एक लापता मूल्य के रूप में व्याख्या किया जाता है और इसके विभिन्न रूप होते हैं - NA_integer_, NA_real_, आदि।

इसलिए, NaN NA और NaN और NA की आवश्यकता है।


21
ध्यान से, NA और NaN दोनों के लिए is.na()रिटर्न TRUE, जो is.nan()उदाहरण के लिए is.na(c(0/0,NA)) बनाम से भिन्न है is.nan(c(0/0,NA))
chl

11

NA लापता डेटा के लिए है। जेएन ने कहा कि NaN, अंकगणितीय उद्देश्य के लिए है। NaN आमतौर पर कुछ अंकगणितीय ऑपरेशन का उत्पाद है, जैसे कि 0/0। NA आमतौर पर अग्रिम में घोषित किया जाता है, या ऑपरेशन का एक उत्पाद है जब आप किसी ऐसी चीज का उपयोग करने की कोशिश करते हैं जो वहां नहीं है:

 > a <- c(1,2)
 > a[3]
   [1] NA 

5

मुझे लगता है कि एनए 'नॉट अवेलेबल' के लिए खड़ा है, जबकि एनएएन 'नॉट ए नंबर' है, हालांकि यह स्पष्टीकरण की तुलना में अधिक महत्वपूर्ण है। वैसे, मुझे आर (शायद स्प्लस?) के अलावा कोई भाषा नहीं है, जो दोनों में है। उदाहरण के लिए, मतलाब के पास केवल NaN है।


आपने (क्रिटिकल) टाइपो बनाया। "ना एन 'नॉट अ नंबर'"
पीटर स्मिट

@ पैटर स्मिट: ouch, धन्यवाद। मेरा एक्स सर्वर कीस्ट्रोक्स से पिछड़ रहा है ...
shabbychef

2
कई भाषा में समतुल्य रचनाएँ हैं। उदाहरण के लिए PHP और जावास्क्रिप्ट में अशक्त और NaN है।
निको

2

NA का अर्थ है कि त्रुटि पहले से ही थी जब आपने R. NaN में स्प्रेडशीट को आयात किया था तो इसका मतलब है कि आपने डेटा आयात करने के बाद त्रुटि का कारण बना। यह तीसरे प्रकार की त्रुटि है जिसे पकड़ना वास्तव में कठिन है।

:-)


3
पहले दो क्या हैं?
डेविड लेबर

मैं glib जा रहा था, लेकिन मेरा मतलब था - NA त्रुटि का पहला प्रकार है, अक्सर आयातित डेटा में कुछ गलत टाइप होने के कारण होता है - जैसे एक संख्यात्मक क्षेत्र जिसमें विराम चिह्न / अक्षर / व्हाट्सएप या टाइपो / केस-भिन्नता होती है। एक कारक के स्तरों में। NaN दूसरी त्रुटि है, जो अक्सर तब होता है जब आप R के भीतर डेटा ट्रांसफ़ॉर्म करते हैं। तीसरी त्रुटि वह डेटा होता है, जिसका एक संख्यात्मक मान होता है, लेकिन एक कारण या किसी अन्य गलत के लिए, और यह तुरंत ध्यान देने योग्य होता है। फिर, इसका अर्थ कठोर वर्गीकरण नहीं है, बस एक अनौपचारिक अवलोकन है।
f1r3br4nd

0

एनए = उपलब्ध नहीं

NaN = संख्या नहीं

मुझे लगता है कि एक बार जब हम सारांश का विस्तार करते हैं, तो यह आत्म व्याख्यात्मक होना चाहिए।


2
CV में आपका स्वागत है! उत्तर देने के लिए धन्यवाद, लेकिन कृपया पहले दिए गए मौजूदा उत्तर पढ़ें, और विचार करें कि क्या आप कुछ नया जोड़ रहे हैं।
Scortchi - फिर से बहाल करें मोनिका
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.