2015-07-18 12 views
5

मैं एक दैनिक XTS विभाजित करना चाहते हैं में निर्दिष्ट अनियमित अंतराल से 4 अलग सप्ताह किस महीने में बाद के दिनों के अनुरूप में आपत्ति महीने का अंत, जहां पिछले सप्ताह आम तौर पर लंबा होगा (लेकिन यह ठीक है!)।स्प्लिट XTS वस्तु आर

week <- seq(from=as.Date("2004-01-01"), to=as.Date("2004-01-31"), by = "day") 
x2 <- sample(1:50, 31) # generating 31 random numbers 
January_series <- xts(x2, order.by=week) # create January daily series 

मुद्दा है कि 1 जनवरी रविवार को नहीं होती है तो split.xts जरूरी क्या करना नहीं करता है:

यहां कुछ उदाहरण तारीखों के अनुक्रम से बनाए गए जनवरी 2004 के लिए एक XTS वस्तु का कोड है मुझे चाहिए।

मैं शुरू में सोचा था कि मैं उन दिनों के ऊपर हालांकि मैं नहीं जानता कि यह सही दृष्टिकोण है कि क्या ध्यान दिया करने के लिए इसी चार अंतराल बना सकते हैं।

वहाँ आपके द्वारा बनाया गया है जो अंतराल से एक XTS वस्तु बंटवारे का कोई तरीका है?

उत्तर

3

आप .indexmday का उपयोग अपने XTS वस्तु में प्रत्येक अवलोकन के लिए महीने के दिन पाने के लिए कर सकते हैं। फिर उन अंतराल को परिभाषित करने के लिए cut का उपयोग करें जिन्हें आप विभाजित करना चाहते हैं।

intervals <- cut(.indexmday(January_series), c(0,7,14,21,31), paste0("W",1:4)) 
splitlist <- split(January_series, intervals) 
+1

लगता है कि '.indexmday' में एक बग है। 'indexmday (January_series) 'मुझे 31, 1, 2, .... देता है x 3.2 0.9 के साथ आर 3.2.1 पर। –

+0

@ जी। ग्रिथेंडिएक: वहां है, लेकिन [यह तय किया गया है] (https://github.com/joshuaulrich/xts/issues/3)। –

+0

@ जोशुआउलिच फिर से धन्यवाद। हालांकि इसके बारे में मेरे पास एक और सवाल है - क्या होगा यदि जनवरी श्रृंखला जनवरी से दिसंबर तक एक बड़ी दैनिक श्रृंखला थी, जो महीने तक विभाजित थी, और प्रत्येक के पास कई कॉलम थे। तो मुझे प्रत्येक कॉलम के माध्यम से लूप करना होगा और प्रत्येक मासिक विभाजित अंतराल को हफ्तों के अंतराल में विभाजित करना होगा? –

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