2011-02-11 8 views
9

मैं समय श्रृंखला के कुछ सांख्यिकीय विश्लेषण के लिए आर का उपयोग कर रहा हूं। मैंने चारों ओर गुगलिंग करने की कोशिश की है, लेकिन मुझे कोई निश्चित उत्तर नहीं मिल रहा है। क्या कोई भी जो अधिक जानता है कृपया मुझे सही दिशा में इंगित कर सकता है?आर में समय श्रृंखला को संभालने का सबसे अच्छा अभ्यास क्या है?

उदाहरण:

चलो कहते हैं कि मैं दो समय श्रृंखला के एक रेखीय प्रतीपगमन क्या करना चाहते हैं। समय श्रृंखला में दैनिक डेटा होता है, लेकिन यहां और वहां अंतर हो सकते हैं ताकि समय श्रृंखला नियमित न हो। स्वाभाविक रूप से मैं केवल उन डेटा बिंदुओं की तुलना करना चाहता हूं जहां दोनों समय श्रृंखला में डेटा होता है। मैं वर्तमान में सीएसवी फाइलों को डेटा फ्रेम में पढ़ने के लिए करता हूं:

library(zoo) 
apples <- read.csv('/Data/apples.csv', as.is=TRUE) 
oranges <- read.csv('/Data/oranges.csv', as.is=TRUE) 
apples$date <- as.Date(apples$date, "%d/%m/%Y") 
oranges$date <- as.Date(oranges$date, "%d/%m/%Y") 
zapples <- zoo(apples$close,apples$date) 
zoranges <- zoo(oranges$close,oranges$date) 
zdata <- merge(zapples, zoranges, all=FALSE) 
data <- as.data.frame(zdata) 

क्या ऐसा करने का कोई मामूली तरीका है?

इसके अलावा, मैं डेटा काट सकते हैं कि कैसे, उदाहरण के लिए, दिनांक के साथ data में प्रविष्टियों एक निश्चित अवधि के भीतर का चयन?

+2

कोड बहुत सही नहीं है, और हम अपने csv फ़ाइलें ... शायद कुछ डमी डेटा नहीं है? –

+0

मैंने कोड में टाइपो तय किए हैं। लेकिन मैं वास्तव में डमी डेटा में बिंदु नहीं देख सकता। बस कोई यादृच्छिक डेटा लें और इसे दो कॉलम सीएसवी फ़ाइल में रखें और एक कॉलम दिनांक और अन्य बंद करें। – c00kiemonster

+9

कारण यह है कि आपका प्रश्न कम गुणवत्ता के रूप में नहीं माना जाता है और इसलिए उत्तरदाता आसानी से कोड चला सकते हैं और एकाधिक उत्तरदाता सभी एक ही इनपुट का उपयोग करके इसे चला सकते हैं। चूंकि यह ऐसा कुछ है जिसे आप इस सवाल का जवाब जानने के बिना स्वयं कर सकते हैं, जिसे आम तौर पर इसे प्रदान करने की आपकी ज़िम्मेदारी के रूप में माना जाता है। –

उत्तर

11

इन पंक्तियों के साथ कुछ प्रयास करें। मतलब यह है कि दिनांक स्तंभ 1 में हैं dyn के पैकेज जो कि चिड़ियाघर श्रृंखला को स्वीकार करने के lm, glm और इसी तरह के कई प्रतिगमन प्रकार कार्यों को बदलने के लिए इस्तेमाल किया जा सकता। lm के स्थान पर dyn$lm लिखें दिखाया गया है:

library(dyn) # also loads zoo 
fmt <- "%d/%m/%Y" 
zapples <- read.zoo('apples.csv', header = TRUE, sep = ",", format = fmt) 
zoranges <- read.zoo('oranges.csv', header = TRUE, sep = ",", format = fmt) 
zdata <- merge(zapples, zoranges) 
dyn$lm(..whatever.., zdata) 

आप की जरूरत नहीं है all = FALSElm के बाद से अपने na.action तर्क की डिफ़ॉल्ट सेटिंग के तहत NAS साथ पंक्तियों पर ध्यान नहीं देगा।

window.zoo समारोह डेटा काट के लिए इस्तेमाल किया जा सकता है।

क्या आप आप भी XTS और quantmod संकुल को देखने के लिए चाहते हो सकता है क्या करना चाहते हैं पर निर्भर करता है।

+0

मुझे dyn पैकेज के बारे में कोई जानकारी नहीं थी, वास्तव में बहुत अच्छा। Dyn पैकेज के लिए – c00kiemonster

+1

+1 –

6

तुम क्यों zoo करने के लिए दोनों डेटा फ्रेम में परिवर्तित किया तो विलय और डेटा फ्रेम करने के लिए वापस परिवर्तित? यदि आप डेटा फ्रेम चाहते हैं, तो बस अपने read.csv() के बाद इस लाइन को चलाएं।

data <- merge(apples, oranges, by = "date") 

और यहां सबसेट कैसे करें।

subset(data, date < slicemax & date > slicemin) 
संबंधित मुद्दे

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