(प्रस्तावना: मैं न तो एक सांख्यिकीविद् और न ही प्रोग्रामर हूं। मैं मानविकी में काम करता हूं, इसलिए मेरी आत्मा पर दया करें)।आर में यूक्लिडियन दूरी की गणना
> x <- c(0,0)
> y <- c(0,10)
> dist(rbind(x,y))
x
y 10
अब तक तो अच्छा,:
आई) आर में अंक मैं जिले (प्रयोग कर रहे की एक श्रृंखला के बीच इयूक्लिडियन दूरी की गणना करने के, इस प्रकार की जरूरत है। लेकिन जब मैं अपने परिणामों को देख रहा था (वास्तविक संख्याओं के साथ), वे बहुत दूर थे। इतना है कि मैंने पाया कि मेरी आर स्क्रिप्ट गलत कॉलम से डेटा पकड़ रही थी। लेकिन मैंने जांच की, और यह नहीं है।
तो मैंने खिलौनों की संख्या के साथ खेलना शुरू कर दिया, और मैं आश्चर्यचकित था। ऊपर के उदाहरण (एक खड़ी रेखा) सही ढंग से काम करता है, के रूप में निम्नलिखित (एक क्षैतिज रेखा) करता है:
> x <- c(0,10)
> y <- c(0,0)
> dist(rbind(x,y))
x
y 10
लेकिन जब लाइन दो अंक प्रपत्र विकर्ण है, विचित्रता ensues:
> x <- c(0,10)
> y <- c(0,10)
> dist(rbind(x,y))
x
y 0
एक 0 की दूरी? है ना? यह सही नहीं हो सकता है।
और जब अंक समान (है कि मेरे डेटा में संभव है), हम खरगोश की मांद नीचे जाना कर रहे हैं:
> x <- c(0,0)
> y <- c(10,10)
> dist(rbind(x,y))
x
y 14.14214
इस 0 नहीं होना चाहिए? अंक समान हैं, आखिरकार, उनके बीच कोई दूरी नहीं हो सकती है।
बस अगर() के साथ कुछ गड़बड़ है, तो मैंने विकिपीडिया द्वारा मैन्युअल रूप से फ़ॉर्मूला को कार्यान्वित करने का प्रयास किया। एक ही परिणाम:
> sqrt(sum((x - y)^2))
[1] 14.14214
जैसा कि मैंने ऊपर कहा, मेरी गणित पृष्ठभूमि कम है, तो मैं पूरी तरह से उम्मीद करते हैं कि यहाँ त्रुटि मेरा है। यदि ऐसा है, तो कृपया बताएं कि यह क्या है और इसे कैसे ठीक किया जाए। लेकिन जहां से मैं अभी खड़ा हूं, ऐसा लगता है कि कुछ गलत है।
और सबसे खराब, मैं अपने डेटा का विश्लेषण नहीं कर सकता।
+1 एक स्पष्ट पहली पोस्ट के लिए जो दस्तावेज़ीकरण दिशानिर्देशों का पालन करता है। –