2017-10-19 57 views
1

按順序執行3列矩陣中的行平均值我有一個維度爲100x300的矩陣,其中我想通過對每列3列進行平均將列數300減少爲100列, 3,成爲新的第1列,第4-6欄成爲新的第2欄,等等。所以,我的100x300矩陣成爲100x100矩陣。如何使用R

矩陣還挺喜歡

A <- matrix(rexp(30000, rate=.1), ncol=300) 

我想是這樣的rowMeans(A, 3)可惜不能正常工作。任何指導將不勝感激。

回答

1

這裏的成3列

#DATA 
set.seed(42) 
m = matrix(rnorm(90), ncol = 9) 

sapply(split(sequence(NCOL(m)), ceiling(sequence(NCOL(m))/3)), function(i) rowMeans(m[,i])) 
#    1   2   3 
# [1,] 0.78972984 0.3277913 0.03411781 
# [2,] -0.01978707 -0.1466863 0.11765521 
# [3,] -0.39921655 1.1229981 0.43126071 
# [4,] 0.52291618 -0.2309106 0.10843898 
# [5,] 0.72204682 -0.2578551 -0.82148326 
# [6,] 0.03311892 -0.3358800 0.83184534 
# [7,] 0.32333323 -0.3055211 0.29562900 
# [8,] -1.50475918 0.2276755 0.43983899 
# [9,] 0.01268471 -1.9462480 0.32276620 
#[10,] 0.20580146 0.3255511 0.14762346 
平均9列的一個例子