मेरे पास 2396x34 double matrix
नाम y
है जिसमें प्रत्येक पंक्ति (23 9 6) लगातार 34 समय सेगमेंट वाली एक अलग स्थिति का प्रतिनिधित्व करती है।भारित पियरसन का सहसंबंध?
मैं भी एक numeric[34]
नामित x
कि 34 लगातार समय खंडों के एक स्थिति का प्रतिनिधित्व करता है।
वर्तमान में मैं इस तरह y
और x
में प्रत्येक पंक्ति के बीच सहसंबंध की गणना कर रहा हूँ:
crs[,2] <- cor(t(y),x)
क्या मैं अब जरूरत है एक भारित सहसंबंध के साथ ऊपर बयान में cor
समारोह को बदलने के लिए है। वजन वेक्टर xy.wt
34 तत्व लंबा है ताकि लगातार 34 समय के प्रत्येक खंड में एक अलग वजन आवंटित किया जा सके।
मैं Weighted Covariance Matrix
समारोह cov.wt
पाया और सोचा कि अगर मैं पहले scale
डेटा यह सिर्फ cor
समारोह की तरह काम करना चाहिए। असल में आप फ़ंक्शन के लिए एक सहसंबंध मैट्रिक्स को वापस करने के लिए निर्दिष्ट कर सकते हैं। दुर्भाग्य से ऐसा प्रतीत नहीं होता है कि मैं इसे उसी तरीके से उपयोग कर सकता हूं क्योंकि मैं अपने दो चर (x
और y
) को अलग से आपूर्ति नहीं कर सकता।
क्या किसी को भी इस तरह से पता है कि मैं कितनी गति बलि किए बिना वर्णित तरीके से भारित सहसंबंध प्राप्त कर सकता हूं?
संपादित करें: शायद कुछ गणितीय समारोह आदेश एक ही परिणाम है कि मैं तलाश कर रहा हूँ प्राप्त करने के लिए cor
समारोह से पहले y
लिए लागू किया जा सकता है। हो सकता है कि अगर मैं प्रत्येक तत्व को xy.wt/sum(xy.wt)
से गुणा करता हूं?
संपादित करें # 2 मुझे boot
पैकेज में एक और फ़ंक्शन corr
मिला।
corr(d, w = rep(1, nrow(d))/nrow(d))
d
A matrix with two columns corresponding to the two variables whose correlation we wish to calculate.
w
A vector of weights to be applied to each pair of observations. The default is equal weights for each pair. Normalization takes place within the function so sum(w) need not equal 1.
यह भी मुझे नहीं चाहिए बल्कि यह करीब है।
x<-cumsum(rnorm(34))
y<- t(sapply(1:2396,function(u) cumsum(rnorm(34))))
xy.wt<-1/(34:1)
crs<-cor(t(y),x) #this works but I want to use xy.wt as weight
उत्कृष्ट! उसने ऐसा किया एक बार फिर धन्यवाद! मैंने सोचा कि आर में लिखे गए कार्यों आर में बनाए गए लोगों की तुलना में काफी धीमे होंगे ... लेकिन मुझे नहीं लगता? –