2016-11-29 38 views
1

我有,我想總結如何在r中用seq_along求和兩個矩陣?

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 

我怎樣才能得到它返回一個矩陣?

回答

4

我們可以做一個定期+將保留matrix格式並執行的elementwise總和

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

如果有很多矩陣,將其放置在一個list和使用Reduce+

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

哇。那很簡單。謝謝。 –