異なる月に始まり、次のように表示されるいくつかの時系列の「開始」という名前の初期開始値の単一列行列 (rbind 操作の結果) があります。
starts <- matrix(rep(100,5),ncol=1)
rownames(starts) <- month.name[1:5]
starts
[,1]
January 100
February 100
March 100
April 100
May 100
明らかに実際には、開始番号は常に 100 とは限りません。
私の目標は、これを別の table() と組み合わせることです。これには、「開始」が毎月減少する減少量が含まれています。
mytable <- structure(c(20L, 0L, 0L, 0L, 0L, 10L, 10L, 0L, 0L, 0L, 5L, 10L,
5L, 0L, 0L, 5L, 10L, 5L, 10L, 0L), .Dim = c(5L, 4L), .Dimnames = list(
c("1", "2", "3", "4", "5"), c("1", "2", "3", "4")), class = "table")
mytable
1 2 3 4
1 20 10 5 5
2 0 10 10 10
3 0 0 5 5
4 0 0 0 10
5 0 0 0 0
ここでの期間: 1、2、3、4 は月間の期間を参照するため、期間 1 は 1 月と 2 月の間で時系列値がどれだけ減少するかを示します。縦の数字 1、2、3、4、5 は時系列に対応します。
出力は、次のような新しいテーブルになります。
January February March April May
January 100 80 70 65 60
February 100 90 80 70
March 100 95 90
April 100 90
May 100
次のようなスイープの方法で関数を使用してこれを行うことができると思いました。
result <- sweep(starts,2,mytable,"-")
ただし、明らかにスイープは、上記のような相関行列の性質を持つテーブルでは機能しません。
助けてくれてありがとう。