3D矩阵求和?

时间:2013-03-02 03:15:09

标签: r loops matrix sum

有没有办法对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。

另外,如果有6个3by3矩阵,那么每两个矩阵如何求和并打印?有for循环吗?

1 个答案:

答案 0 :(得分:3)

为每个维度调用sum(),此处有三个:

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的cluebat。