2016-12-27 5 views
-4

dataframeは日付に索引付けされ、4列は'Open',High,'Low','Close'です。データフレーム内の前の行にアクセスし、日付が間隔でインデックスされます

インデックスの日付はすべて取引日ですので、休日や週末は含まれません。

私は以前と次の行の値を取得する必要があり

dataframe["2015-12-27",] 

を使用してデータフレームで2015年12月27日の行の値を取得することができます。前の行は必ずしも「2015-12-26」である必要はないので、休日や週末になる可能性があるため、単純な算術減算は機能しません。

ご協力いただければ幸いです。

更新日:私はなぜ否定的な票を持っているのだろうか。私はその答えが将来他の人にとって明らかに利益になると思います。しかし、集団知恵にはある意味があり、私は把握できません。

+0

最後の手段として、あなたが結果をキャッチし、有効な(非NA/NULL)答えを得るまで、あなたが引くことができ'tryCatch'の中にあります。 –

+2

matchを使うことができます。つまり、 'i1 < - match(" 2015-12-17 "、index(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,] 

乾杯

関連する問題