如何在r?

时间:2016-11-29 09:03:17

标签: r matrix sum apply sapply

我有两个矩阵,我想总结

mat1<-matrix(1:4,2,2)    
mat2<-matrix(5:8,2,2)
mat1
     [,1] [,2]
[1,]    1    3
[2,]    2    4

mat2
 [,1] [,2]
[1,]    5    7
[2,]    6    8

我想要的是这个

mat_sum
     [,1] [,2]
[1,]    6   10
[2,]    8   12 

我试过

mat_sum <- sapply(seq_along(mat1), function(i)
mat1[[i]]+mat2[[i]])

然后它不返回矩阵

[1]  6  8 10 12

如何让它返回矩阵?

1 个答案:

答案 0 :(得分:4)

我们可以定期+保留matrix格式并进行元素求和

mat1 + mat2
#     [,1] [,2]
#[1,]    6   10
#[2,]    8   12

如果有很多矩阵,请将其放在list中并使用Reduce+

Reduce(`+`, mget(paste0("mat", 1:2)))