不等間隔の観測を含むデータセットがあり、頻繁に観測が 1 日に複数回発生します。関数をデータのウィンドウに適用したいのですが、ウィンドウを行ではなく時間で定義したいと考えています。たとえば、データセット内の 1 ~ 5 日、2 ~ 6 日などの平均を計算したい場合、1 ~ 5 日は行 1 ~ 13 に対応し、2 ~ 6 日は行 3 ~ に対応する場合があります。 18等
rollapply
関数がオブジェクトを受け入れることzoo
がわかり、上記のように機能すると仮定しました (つまり、行で定義されたウィンドウではなく、時間で定義されたウィンドウに関数を適用します)。ただし、そうではないようです。
my.ts = zoo( 1:100, as.Date("201401","%Y%j")+1:100 )
mean1 = rollapply( my.ts, 3, mean, align="right" )
my.ts = zoo( 1:100, as.Date("201401","%Y%j")+1:100/2 )
mean2 = rollapply( my.ts, 3, mean, align="right" )
all( mean1==mean2 )
1 日に 1 回ではなく 2 回の観測があるため、とはmean2
異なると予想されます。ただし、オブジェクトからの時間ではなく、行を使用してウィンドウを定義しているようです。これに対する回避策はありますか? または、おそらく代わりに使用する必要がある他の関数?mean1
mean2
rollapply
zoo
rollapply