बाल्टी के रोलिंग सेट में डेटा की गिनती वाले सेट को कैसे सेट करें

मेरे पास महीनों के ट्रैफ़िक के लिए सर्वर लॉग है। नीचे आंशिक उदाहरण

"UploadDateGMT","UserFileSize","TotalBusinessUnits"
"2012-01-01 00:00:38","1223","1"
"2012-01-01 00:01:16","1302","1"
"2012-01-01 00:08:10","1302","1"

मैं इसे एक डेटा सेट में रूपांतरित करना चाहता हूं, जहां मुझे लगता है कि प्रत्येक पांच मिनट की खिड़की में रोलिंग आधार पर सबमिशन के कितने बाइट थे। (यानी 0-5, 1-6, 2-7, इत्यादि) इससे, मैं अधिकतम भार, 95% भार निकाल सकता हूं, लोड के सुंदर ग्राफ बना सकता हूं।

0
जोड़ा संपादित
विचारों: 1

2 उत्तर

एक्सटीएस पैकेज चाल करेगा:

library(xts)
tab <-read.table(text="UploadDateGMT,UserFileSize,TotalBusinessUnits
'2012-01-01 00:00:38',1223,1
'2012-01-01 00:01:16',1302,1
'2012-01-01 00:08:10',1302,1", header=TRUE, as.is=TRUE,sep = ",")

tab2<-xts(tab$UserFileSize,order.by=as.POSIXct(tab$UploadDateGMT) ) #create xts object
endp <-endpoints(tab2, on="mins", k=5) #5 minutes endpoints
fivemin <-period.apply(tab2,endp,sum) #sum per 5-minute period
fivemin

                    [,1]
2012-01-01 00:01:16 2525
2012-01-01 00:08:10 1302

यदि आप समय कॉलम 5 मिनट की वृद्धि में होना चाहते हैं:

res<- align.time( fivemin[endpoints(fivemin, on="mins", k=5)], n=60*5)
0
जोड़ा
यहोशू, तुम सही हो। मैंने सवाल गलत तरीके से पढ़ा।
जोड़ा लेखक Pierre Lapointe, स्रोत
बंद करें, लेकिन यह रोलिंग विंडो नहीं बनाता है। आपको 1-मिनट तक एकत्र करने की आवश्यकता है और फिर rollsum.zoo का उपयोग करें।
जोड़ा लेखक Joshua Ulrich, स्रोत

@ PLapointe के उत्तर पर विस्तार करने के लिए:

endp <- endpoints(tab2, on="mins", k=1) # 1 minute endpoints
onemin <- period.apply(tab2,endp,sum)   # sum per 1-minute period
onemin <- align.time(onemin)            # align to end-of-period times
# all one-minute increments from start--end of onemin
allonemin <- seq(start(onemin), end(onemin), by="1 min")
onemin <- merge(onemin, xts(,allonemin))
fivemin <-  rollapplyr(onemin, 5, sum, na.rm=TRUE, fill=NA)
0
जोड़ा
आप दोनों के लिए धन्यवाद। यह पूरी तरह से काम किया। मैं विस्मय में हूँ।
जोड़ा लेखक Ben Mathews, स्रोत
एक दम बढ़िया। बीटीडब्ल्यू, आपने rollsum.zoo का उल्लेख किया है और मुझे लगता है कि मुझे इसे एक बिंदु पर याद रखना याद है। लेकिन ? Rollsum.zoo खाली आता है। क्या यह कार्य कभी अस्तित्व में था?
जोड़ा लेखक Pierre Lapointe, स्रोत
@PLapointe: मुझे यकीन नहीं है ... मैंने सोचा था कि यह किया गया था (जैसा कि आपके उत्तर पर मेरी टिप्पणी से निहित है), लेकिन मैंने इसे नहीं देखा।
जोड़ा लेखक Joshua Ulrich, स्रोत