2016-12-03 4 views
0

Ich habe eine Zeitreihe Aktienkursdaten, ich möchte Daten alle 15 Minuten extrahieren. Die Startzeit und die Endzeit (in der Spalte Zeit angemeldet) sindInkrementieren und definieren Sie einen Bereich in einer Zeitreihendaten mit R

start_date1 <- as.POSIXct("2016-11-01 09:00:00") 
end_date2 <- as.POSIXct("2016-11-01 09:15:00") 

das Intervall definieren

int <- new_interval(date1, date2) 

die Daten aus dem Datenrahmen Extrahierung DF_spread

DF_spread_interval <- DF_spread[DF_spread$Time %within% int,] 

Jetzt wollen extrahiere die Daten aus der Serie alle 15 Minuten, wobei bei jeder Iteration das start_date1 um 15 min erhöht wird und das end_date2 ebenfalls um 15 min erhöht wird.

Der Zuwachs sollte aufhören, wenn die end_date2 den Endpunkt von 03.30 am selben Tag erreicht hat, das heißt

end_date2 <- as.POSIXct("2016-11-01 15:30:00") 

Bitte helfen.

Antwort

0

Wir versuchen

st <- start_date1 + seq(0, 1500, by = 60)*15 
et <- end_date1 + seq(0, 1600, by = 60)*15 

Map(function(x,y) {intl <- new_interval(x,y); 
       DF_spread[DF_spread$Time %within% int,]}, 
        st, et)  
Verwandte Themen