Cum se face un set care conține numărul de date în setul de galeți de găleți

Am jurnale de server pentru un trafic de luni de zile. Exemplul parțial de mai jos

"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"

Aș dori să convertesc acest lucru într-un set de date în care am un număr de câte octeți de înregistrări au fost în fiecare fereastră de cinci minute pe o bază în continuă. (adică 0-5, 1-6, 2-7, etc.) Din aceasta am putut extrage sarcina maximă, încărcătura de 95%, am făcut destul de grafice de încărcare etc.

0

2 răspunsuri

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

Dacă doriți ca coloana de timp să fie în pași de 5 minute:

res<- align.time( fivemin[endpoints(fivemin, on="mins", k=5)], n=60*5)
0
adăugat
Joshua, ai dreptate. Am intrebat greșit.
adăugat autor Pierre Lapointe, sursa
Închideți, dar acest lucru nu creează o fereastră de rulare. Trebuie să agregați la 1 minut, apoi să utilizați rollsum.zoo .
adăugat autor Joshua Ulrich, sursa

Pentru a extinde răspunsul la answer :

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
adăugat
Mulțumesc amândoi. A funcționat perfect. Sunt în primejdie.
adăugat autor Ben Mathews, sursa
Grozav. BTW, ați menționat rollsum.zoo și cred că îmi amintesc că am folosit-o la un moment dat. Dar ? Rollsum.zoo apare gol. A funcționat vreodată această funcție?
adăugat autor Pierre Lapointe, sursa
@PLapointe: Nu sunt sigur ... m-am gandit ca a facut-o (asa cum insemna comentariul meu asupra raspunsului tau), dar nu l-am vazut.
adăugat autor Joshua Ulrich, sursa