2016-12-03 37 views
0

我有一個時間序列股票價格數據,我想每15分鐘提取一次數據。 的開始時間和結束時間(記錄在列時間)是使用R增加和定義時間序列數據中的範圍使用R

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

定義間隔

int <- new_interval(date1, date2) 

從數據幀中提取數據DF_spread

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

現在要每15分鐘從系列中提取數據,在每次迭代中,start_date1將增加15分鐘,end_date2也將增加15分鐘。

增量應該停止時,end_date2已經達到3:30當天的終點,即

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

請幫助。

回答

0

我們可以嘗試

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)