簡體   English   中英

如何按日期索引拆分 XTS 數據幀?

[英]How to Split a XTS Data Frame by Date Index?

我通過組合 XTS object 的各種技術指標創建了一個數據框。

alldata_SBI <- data.frame(Ad(SBIN.NS),SMA50_SBI,SMA200_SBI,EMA50_SBI,EMA200_SBI,BB_SBI,
                          Momentum_SBI,MACD_SBI,RSI_SBI, ROC_SBI, WPR_SBI)
colnames(alldata_SBI) <- c("ADJ.CLOSE","SMA50","SMA200","EMA50","EMA200","BB.DN","BB.MAVG","BB.UP","BB.PCTB",
                           "MOMENTUM","MACD","MACD.SIGNAL","RSI","ROC", "WPR")

我看到數據框有一個日期索引。

數據幀 Output

我注意到這個日期索引是自動創建的,可能是因為我結合了 XTS 對象,所以索引會出現。

現在,我想將此數據框拆分為 2 個不同的訓練和測試集,如下所示

火車 <- 從 2015-01-01 到 2018-12-31

測試 < 從 2019-01-01 到 2019-12-31

我怎樣才能做到這一點?

如果您將數據留在 xts object 而不是 data.frame 中,這會容易得多。

假設您的數據仍在 xts object 中:

alldata_sbi <- merge(Ad(SBIN.NS),SMA50_SBI,SMA200_SBI,EMA50_SBI,EMA200_SBI,BB_SBI,
                     Momentum_SBI,MACD_SBI,RSI_SBI, ROC_SBI, WPR_SBI)

train <- alldata_sbi["2015-01-01/2018-12-31"]
test <- alldata_sbi["2019-01-01/2019-12-31"]

# alternatively, you only need to specify the smallest period you need
train <- alldata_sbi["2015/2018"]  # all obs in 2015-2018
test <- alldata_sbi["2019"]        # all obs in 2019

現在,如果需要,您可以將traintest轉換為 data.frames。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM