2016-12-27 25 views
-4

我有一個dataframe索引上的日期,與4列'Open',High,'Low','Close'訪問前一行數據幀,索引的日期差距

在指數的日期是所有的交易日期,因此它不包括節假日和週末。

我可以用

dataframe["2015-12-27",] 

我需要得到一個和下一個行的價值得到該行的價值2015年12月27日的數據幀。由於上一行不一定必須是「2015-12-26」,因爲該日期可以是假期或週末,所以簡單的算術減法不可行。

任何幫助,將不勝感激。

更新:我不知道爲什麼投了反對票。我想答案肯定會在未來讓其他人受益。但是,集體智慧可能有某種意義,我不能把握。

+0

作爲最後的手段,你可以減,直到你得到一個有效的(非NA/NULL)的答案,捕結果在'tryCatch'中。 –

+2

你可以使用匹配,即'i1 < - match(「2015-12-17」,index(dataframe)); dataframe [i1-1,]' – akrun

+0

@RomanLuštrik或更乾淨的解決方案。 – user1517108

回答

0

答案,如在評論中提到的,就是:

var1 <- match(as.Date("2015-12-26"), index(dataframe)); 
prevValue <- dataframe[var1-1,] 
currentValue<- dataframe[var1,] 
nextValue<- dataframe[var1+1,] 

乾杯

相關問題