グループ化変数でグループ化された時系列のACFを計算したいと思います。具体的には、私は、単一の時系列(変数a)およびグループ化変数(例えば、平日、変数b)を含むデータフレームを有する。次に例を示します。ACF in group in R
data <- data.frame(a=rnorm(1:150), b=rep(rep(1:3, each=5), 10))
今、私は、グループ化変数の異なる値のためのACFを計算したいと思います。例えば、ラグ2とグループ1については、b = 1(t-2のbの値は関係ありません)の時点tでのみ計算されたtとt-2の間の相関関係を取得したいと考えています。私は関数acfは簡単にACFを計算することができますが、私はグループ化変数を含める方法を見つけることはできません知っている。
私は手動で希望の相関を計算することができましたが、大きなデータセットとグルーピング変数のラグと値が多いため、よりエレガントで高速な方法があることを願っています。
sel <- which(data$b==1)
cor(data$a[sel[sel > 2]], data$a[sel[sel>2] - 2])
これは望ましい結果をもたらさないと思います。私がデータを分割すると、遅れはもはや正しくありません。例えば、b = 1の第2のグループの第1の観測の遅れ1の観測は、b = 1の第1のグループの最後の観測であるが、b = 3の第1のグループの最後の観測となる。 – Lila
ああ... OK。 「t-2のbの価値は問題ではない...」 –