2

RI には行列があり、次のように言います。

1 0 1 2 0 0 3
2 0 2 0 2 2 1
0 1 2 1 3 2 3
4 0 1 2 1 1 0

このマトリックスを累積バージョンに変換して、マトリックスを取得したいと思います。

1 1 2 4 4 4 7
2 2 4 4 6 8 9
0 1 3 4 7 9 12
4 4 5 7 8 9 9

したがって、[i,j]行列 2 の 番目のエントリは、 となるような行列 1 のすべての要素の合計ですi_1 <= i_2。Rでこれを行うにはどうすればよいですか?

4

1 に答える 1

4

できるよ:

> t(apply(mat, 1, cumsum))

また

> ave(mat, row(mat), FUN = cumsum)

     [,1] [,2] [,3] [,4] [,5] [,6] [,7]
[1,]    1    1    2    4    4    4    7
[2,]    2    2    4    4    6    8    9
[3,]    0    1    3    4    7    9   12
[4,]    4    4    5    7    8    9    9

mat元のマトリックスはどこにありますか。

于 2013-09-06T09:57:18.780 に答える