से नियमित रूप से 15 मिनट की समय श्रृंखला बनाना मैं एक अनियमित समय श्रृंखला (DATETIME और RainfallValue के साथ) एक csv फ़ाइल C:\SampleData.csv
में है:अनियमित समय श्रृंखला
DateTime,RainInches
1/6/2000 11:59,0
1/6/2000 23:59,0.01
1/7/2000 11:59,0
1/13/2000 23:59,0
1/14/2000 0:00,0
1/14/2000 23:59,0
4/14/2000 3:07,0.01
4/14/2000 3:12,0.03
4/14/2000 3:19,0.01
12/31/2001 22:44,0
12/31/2001 22:59,0.07
12/31/2001 23:14,0
12/31/2001 23:29,0
12/31/2001 23:44,0.01
12/31/2001 23:59,0.01
नोट: अनियमित समय कदम 1 मिनट, 15 मिनट, 1 घंटा इत्यादि हो सकते हैं। इसके अलावा, वांछित 15-मिनट अंतराल में कई अवलोकन हो सकते हैं।
मैं 2001/12/31 के लिए 2000/01/01 से एक नियमित रूप से 15 मिनट की समय श्रृंखला बनाने के लिए दिखना चाहिए उस तरह कोशिश कर रहा हूँ:
2000-01-01 00:15:00 0.00
2000-01-01 00:30:00 0.00
2000-01-01 00:45:00 0.00
...
2001-12-31 23:30:00 0.01
2001-12-31 23:45:00 0.01
नोट: समय श्रृंखला है 15 मिनट के अंतराल के साथ नियमित रूप से, 0 के साथ लापता डेटा भरना। यदि 15 मिनट अंतराल में एक से अधिक डेटा पॉइंट हैं, तो उन्हें सारांशित किया जाता है।
यहाँ मेरी कोड है:
library(zoo)
library(xts)
filename = "C:\\SampleData.csv"
ReadData <- read.zoo(filename, format = "%m/%d/%Y %H:%M", sep=",", tz="UTC", header=TRUE) # read .csv as a ZOO object
RawData <- aggregate(ReadData, index(ReadData), sum) # Merge duplicate time stamps and SUM the corresponding data (CAUTION)
RawDataSeries <- as.xts(RawData,order.by =index(RawData)) #convert to an XTS object
RegularTimes <- seq(as.POSIXct("2000-01-01 00:00:00", tz = "UTC"), as.POSIXct("2001-12-31 23:45:00", tz = "UTC"), by = 60*15)
BlankTimeSeries <- xts((rep(0,length(RegularTimes))),order.by = RegularTimes)
MergedTimeSeries <- merge(RawDataSeries,BlankTimeSeries)
TS_sum15min <- period.apply(MergedTimeSeries,endpoints(MergedTimeSeries, "minutes", 15), sum, na.rm = TRUE)
TS_align15min <- align.time(TS_sum15min [endpoints(TS_sum15min , "minutes", 15)], n=60*15)
समस्या: उत्पादन समय श्रृंखला TS_align15min
: समय टिकटों की (क) दोहरा है ब्लॉक (ख) 1999 से (रहस्यमय तरीके से) शुरू होता है, के रूप में:
1999-12-31 19:15:00 0
1999-12-31 19:30:00 0
1999-12-31 19:45:00 0
1999-12-31 20:00:00 0
1999-12-31 20:15:00 0
1999-12-31 20:30:00 0
What am I doing wrong?
Thank you for any direction!
हमारे लिए कुछ प्रतिलिपि प्रस्तुत करने योग्य कोड जेनरेट करें, dput () उपयोगी है। लाइब्रेरी या आवश्यकता के साथ योगदान पैकेजों का उपयोग भी घोषित करें। – mdsumner
@mdsumner सुझाव के लिए धन्यवाद। मैंने पुनरुत्पादित नमूना डेटा और कोड जोड़ा है। – akashwani
नहीं, अगर यह किसी डेटा फ़ाइल पर निर्भर करता है तो हमारे पास पुन: उत्पन्न नहीं होता है। दिए गए बीज के साथ _random data_ के लिए मेरा उत्तर देखें - जो इसे पुन: उत्पन्न करता है। –