2013-11-25 144 views
4

我有一個大小爲TxR的矩陣,我正在尋找一個命令來完成行的乘積(返回產品的1 x R向量)。之後,我想總結一下欄目,即總結R條款。矩陣的行產品和矩陣的列總和

在Matlab中,這將做這樣的事情總和(產品(A,1),2),但我不知道這R.

我希望這是有意義的代碼。

由於

+0

這顯然不清楚你想要什麼。你聲明你想'行'的產物,但是然後給'prod(A,1)',而[matlab幫助'prod'](http://www.mathworks.com/help/matlab/ref/ prod.html)建議你想要的是'prod(A,2)'。你能澄清,如果你想要每行的產品,然後總結他們? –

回答

8
sum(apply(A, 1, prod)) 

應用PROD功能橫跨行(1是邊緣),總結的結果。

6

在基R:

mat <- matrix(c(1,2,3, 
       4,5,6, 
       7,8,9), byrow = TRUE, ncol = 3) 

R <- apply(mat, 1, prod) 
R 
sum(R) 

R> R 
[1] 6 120 504 
R> sum(R) 
[1] 630 

有上CRAN一個不錯的選擇稱爲matrixStats其目的添加的其它矩陣函數快速版本以補充rowSumscolSums(和它們的平均當量)的鹼R.

install.packages("matrixStats") ## install it from CRAN 

## load matrixStats 
library("matrixStats") 
rowProds(mat) 

R> rowProds(mat) 
[1] 6 120 504 
R> sum(rowProds(mat)) 
[1] 630