2011-10-23 14 views
5

के बीच क्षेत्र की गणना करें मैं नीली रेखा और ग्रे विकर्ण रेखा के बीच के क्षेत्र की गणना करना चाहता हूं।2 घटता

library(zoo)  
id <- order(x) 
AUC <- sum(diff(x[id])*rollmean(y[id],2)) 

(Calculate the Area under a Curve in R करने के लिए धन्यवाद)

कोई भी विचार कैसे नीले और ग्रे लाइन के बीच के क्षेत्र को खोजने के लिए:

enter image description here

मैं के रूप में ब्लू लाइन के तहत क्षेत्र की गणना कर सकते हैं? नीली रेखा के नीचे क्षेत्र है 1/2 (बा) (च (-

अग्रिम धन्यवाद चुनाव आयोग

+1

मैं कुछ याद कर रहा हूँ यहां: क्या आपने अपने लिंक पर स्पष्टीकरण याद किया? यदि आपका नीला [जे] और ग्रे [जे] डेटा है, तो केवल मान (नीला [जे] -ग्रे [जे]) की गणना करें (वास्तविक आर कोड नहीं), मानों के बीच की दूरी से समायोजित (आपका diff (x [id ]))। यदि नीला [जे] डेटा है और ग्रे एक फ़ंक्शन है, तो नीले रंग में एक्स-मानों पर ग्रे की गणना करें। –

+0

ग्रे रेखा विकर्ण है। तो यह z <-abs (y-x) जैसा कुछ होना चाहिए; आईडी <- ऑर्डर (एक्स); एयूसी <- योग (diff (x [id]) * रोलमेन (जेड [आईडी], 2)); – ECII

+0

आपको इंगित करना होगा (एक सेकंड के लिए इसके बारे में सोचने के बाद) चाहे आप क्षेत्र को सकारात्मक रूप से गिना जाए, जब नीली रेखा ग्रे रेखा से ऊपर और नीचे हो। –

उत्तर

1

बस सुनिश्चित करने के लिए एक स्वीकार्य जवाब वहाँ है, लेकिन मुख्य रूप से अन्य लोगों का सारांश के सुझाव:

'गणितीय', क्या आप चाहते हैं वक्र abs(blue - grey) क्षेत्र होता है, ।

ये मान (यानी पूर्ण मतभेद) आसानी से प्राप्त किए जाते हैं, और एक बार जब आप उन्हें प्राप्त कर लेते हैं, तो आप सतह प्राप्त करने के लिए किसी एकीकरण-जैसी विधि (सिम्पसन के नियम या आपके द्वारा लिंक किए गए लेख में सुझाए गए सुझावों का उपयोग कर सकते हैं) का उपयोग कर सकते हैं।

एक विकल्प के रूप में, और कुछ हद तक @ सौरभ ने सुझाव दिया, आप इस तथ्य का उपयोग कर सकते हैं कि नीली रेखा एक चरण कार्य है (या नहीं है?) और दूसरा सीधी रेखा है। इसके लिए, आप सभी एक्स मानों को जोड़ते हैं जिनके लिए नीली और भूरे रेखाएं पार हो जाती हैं, या नीली रेखा में एक नया मान प्रस्तुत किया जाता है (एक 'चरण' लिया जाता है)। इस तरह के क्षेत्र को विभाजित करने से केवल त्रिकोण और ट्रापेज़ियम का कारण बन जाएगा, और आप उन्हें संक्षेप में पूरा करने से पहले पूर्ण मूल्य ले सकते हैं।

यहां तक ​​कि अगर ब्लू लाइन एक सरल कदम समारोह नहीं है, लेकिन अभी भी सीधी रेखाओं से बना है, यह काम करना चाहिए, अब आपको कुछ अतिरिक्त मामलों के लिए खाते हैं, हालांकि ...

+0

मुझे लगता है कि मुझे सिम्पसन की नियम पुस्तकालय (बोल्स्तास्ट 2) का उपयोग करके मिला है; z <-abs (y-x); एयूसी <-सिंटेग्राल (एक्स, जेड) $ int; – ECII

4

घटता के बीच के क्षेत्र मापांक (क्षेत्र (ग्रे रेखा के नीचे) क्षेत्र (नीली रेखा के नीचे)) है बी) -एफ (ए)) जहां ए और बी सीमाओं के एक्स और एफ (ए) हैं, एफ (बी) सीमाओं के वाई हैं। ग्रे लाइन के नीचे क्षेत्र ढूंढना सिम्पसन के नियम का उपयोग करके किया जा सकता है। यह http://en.wikipedia.org/wiki/Simpson%27s_rule देखें, उन्होंने नियम और कार्यान्वयन + सटीकता प्रदान की है बशर्ते आपके पास xs और ys के सरणी हों।

मुझे आशा है कि यह मदद करता है, सौरभ

+2

सिम्पसन या ट्रैपेज़ॉयडल नियम सीधे सीधी रेखा के लिए ओवरकिल हैं :-)। –

+0

मैंने कहा कि उनको नीली रेखा के लिए ग्रे ग्रे नहीं किया जा सकता है।भूरे रंग के लिए क्षेत्र सीधे 1/2 (बी-ए) (एफ (बी) -एफ (ए)) –

+1

पर पाया जा सकता है ऐसा लगता है कि ओपी चाहता है कि सभी सतह अंतर सकारात्मक के रूप में गिने जाएं (पेट को अपनी टिप्पणी में देखें)। यदि ऐसा है, तो आपका पहला कथन काम नहीं करता है। –

संबंधित मुद्दे