2

Rにxts時系列があり、非常に便利な関数を使用して、たとえば文字列に基づいて時系列をサブセット化します。

time_series["17/06/2006 12:00:00"]

これにより、その日付/時刻に最も近い観測値が返されます。これは、多くの状況で非常に便利です。ただし、この特定の状況では、正確な時刻にある時系列の要素のみを返したいと思います。このような素敵な日付/時刻文字列を使用してxtsでこれを行う方法はありますか?

より一般的なケースでは(私は今すぐこの問題を抱えていませんが、すぐに遭遇する可能性があると思われます)-特定の期間内に最も近い観測値を抽出することは可能ですか?たとえば、指定された日付/時刻から10分以内であると仮定して、指定された日付/時刻に最も近い観測値-それ以外の場合は、その観測値を破棄します。

このより一般的なケースでは、これを行うための関数を作成する必要があるのではないかと思います。これは喜んで行います。より具体的なケース(または一般的なケース)がxtsですでに対応されているかどうかを確認したかっただけです。

4

1 に答える 1

2

私の知る限り、これを行う唯一の方法は、興味のある時点で始まるサブセットを使用し、その最初の観察結果を取得することです。

例えば

first(time_series["2006-06-17 12:00:00/2006-06-17 12:01"])

または、より一般的には、毎日 12:00 の価格を取得するには、毎日 1 分にサブセット化してから、日ごとに分割して、それぞれの最初の観測値を抽出します。

do.call(rbind, lapply(split(time_series["T12:00:00/T12:01"],'days'), first))

Jeff (xts の作成者) が必要な機能を追加することを検討しているスレッドがあります http://r.789695.n4.nabble.com/Find-first-trade-of-day-in-xts-object-td3598441.html# a3599887

于 2012-05-15T12:29:55.977 に答える