2016-11-29 8 views
1

私は私がしたいことは、このrのseq_alongで2つの行列を合計するにはどうすればよいですか?

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

ある

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 <- sapply(seq_along(mat1), function(i) 
mat1[[i]]+mat2[[i]]) 

を試みたが、それは行列

を返すdoesntの
[1] 6 8 10 12 

行列を返すにはどうしたらいいですか?

答えて

4

我々は行うことができますmatrix形式を保持し、要素単位の加算を行います定期+多くの行列がある場合は、listでそれを配置してReduceを使用

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

+

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

ワオ。それは簡単だった。ありがとう。 –

関連する問題