संभव डुप्लिकेट:
Numeric comparison difficulty in Rआर नरक का पहला सर्कल। 0,1 = 0,3/3
हैलो सभी,
"R Inferno" कागज के अनुसार। मैं अभी आर नरक के पहले सर्कल में हूँ। यह वह जगह है जहां pagans 0.1 == 0.3/3 की उम्मीद है। पेपर ऐसे मामलों के लिए all.equal
फ़ंक्शन का उपयोग करने की अनुशंसा करता है, हालांकि मुझे "> =" या "< =" शर्तों की जांच करने की आवश्यकता है। उनके वर्तमान उदाहरण के साथ विफल:
> .1 >= .3/3
[1] TRUE
> .1 <= .3/3
[1] FALSE
क्या सभी के लिए समान कार्य है। असमानता की जांच करता है?
धन्यवाद,
इल्या
यह एक विशिष्ट त्रुटि नहीं है, लेकिन फ्लोटिंग पॉइंट नंबरों के द्विआधारी प्रतिनिधित्व के कारण होने वाली एक सामान्य त्रुटि है। उदाहरण के लिए http://en.wikipedia.org/wiki/Floating_point#Accuracy_problems देखें। – schnaader
मुझे पता है कि त्रुटि क्यों होती है। मैं जानना चाहता हूं कि कोई आर फ़ंक्शन है जो असमानताओं की जांच कर सकता है या मुझे फ़्लोटिंग पॉइंट्स के साथ दिमाग में लिखना होगा। – ilya
हाँ, मुझे बेहतर खोज करने की आवश्यकता है – ilya