R で行列を遅らせる最も簡単な方法は、「embed()」関数を使用することです。再現可能な簡単な例を次に示します。
> # Create a 5x2 matrix
> m <- replicate(2, 1:5)
> m
[,1] [,2]
[1,] 1 1
[2,] 2 2
[3,] 3 3
[4,] 4 4
[5,] 5 5
>
> # Use the 'embed()' function to lag the matrix
> lag_m <- embed(m, 3)
> lag_m
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] 3 3 2 2 1 1
[2,] 4 4 3 3 2 2
[3,] 5 5 4 4 3 3
embed() 関数とその出力に関するいくつかの重要な言葉。
- この関数は次のように使用されます。embed(matrix, lag+1)
関数の最初の引数は、ラグしたい行列です。2 番目の引数。ただし、必要なラグの数は「プラス 1」です。したがって、embed(matrix, 3) は、行列を 2 期間遅らせることを意味します。
. 最初の 2 列は元の m 行列を表しますが、行数はラグの数に合わせて調整されます (元の 5 行から 2 期間のラグを差し引いたもの)。
. 列の 2 番目のセット (列 3 と 4) は、1 期間遅れた m 行列です。
. 列の 3 番目のセット (列 5 と 6) は、2 期間遅れた m 行列です。