मैं किसी दिए गए निर्देशांक के साथ एक बिंदु के मानदंड की गणना के लिए आर का उपयोग करके गणनाओं के कुछ सेट को प्राप्त करने की कोशिश कर रहा हूं और फिर अधिकतम लेता हूं और फिर उसमें से वर्ग निकालता हूं।
मैंने निम्नलिखित कोशिश की है:
a <- c(-0.5,1)
b <- c(-1,-1.5)
c <- c(-1.5,1.5)
d <- c(1.5,-0.5)
e <- c(0.5,-0.5)
df <- data.frame(a,b,c,d,e)
अधिक विस्तृत तरीके से, मैं यही करना चाहता हूं:
मैंने norm
का उपयोग करने और Frobenius
का उपयोग करने का प्रयास किया, लेकिन मैं बाद में उपयोग किए जाने वाले फ़ंक्शन में सब कुछ रखना चाहता हूं। क्योंकि मैन्युअल रूप से जब मैं इन कार्यों के लिए वैक्टर बनाता हूं तो हर बिंदु की गणना करना बहुत कठिन हो जाता है। इसे करने के लिए एक कुशल/सरल तरीका खोज रहे हैं।
1 उत्तर
हम across
कॉलम को लूप करते हैं, तत्वों का वर्ग प्राप्त करते हैं, sum
इसे, वर्गमूल के साथ वापस करते हैं, max
प्राप्त करते हैं और इसे स्क्वायर करते हैं
library(dplyr)
df %>%
summarise(across(everything(), ~ sqrt(sum(.^2)))) %>%
max %>%
.^2
#[1] 4.5
base R
में, हम उपयोग कर सकते हैं
max(sqrt(colSums(df^2)))^2
#[1] 4.5
यदि हम सभी अंकों के साथ print
चाहते हैं, तो digits
को print
में निर्दिष्ट करें
print(max(sqrt(colSums(df^2)))^2, digits = 16)
#[1] 4.499999999999999
data.matrix()
की आवश्यकता है जिसे मैंने अपने प्रश्न में पोस्ट किया है?4.499999999999999
क्या यह अंतर्निहित डेटा संरचना के कारण है जो ऐसा कर रहा है या हमारे पास हो सकता है मूल्य का वास्तविक प्रतिनिधित्व?