2

3次元行列を合計する方法はありますか?

たとえば、データがある場合

m<-array(c(1:9,18:26,30:38),dim=c(3,3,3))

, , 1

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

, , 2

     [,1] [,2] [,3]
[1,]   18   21   24
[2,]   19   22   25
[3,]   20   23   26

, , 3

     [,1] [,2] [,3]
[1,]   30   33   36
[2,]   31   34   37
[3,]   32   35   38

答えは 549 です。

また、3 行 3 列の行列が 6 つある場合、2 つの行列ごとに合計して出力するにはどうすればよいでしょうか。forループで?

4

1 に答える 1

3

sum()あなたの次元のそれぞれを求めてください、ここで3つ:

R> m<-array(c(1:9,18:26,30:38),dim=c(3,3,3))
R> sum(sum(sum(m)))
[1] 549
R> 

または、次元を削除sum()して、現在は単一のベクトルになっているものを呼び出します。

R> sum(c(m))
[1] 549
R> 

編集私は物事を複雑にしすぎました。3配列はまだ単なるベクトルなので、必要なのは

R> sum(m)
[1] 549
R> 

手がかりを与えてくれた@thelatemailに感謝します。

于 2013-03-02T03:21:06.857 に答える