2017-06-12 19 views
-3

我有一個看起來像這樣的矩陣,並希望採用每列的均值並將它們組合成一個新的矩陣。R - 在矩陣中組合列的意思

> MDA 
      price  X3  X5  X10  X13  X20  X64  X86 
    [1,] 2.851921 0.19537 2.817065 6.5603 7.37657 2.273753 3.73926 4.08654 
    [2,] 1.355820 -0.58857 -0.253762 4.3871 3.62105 5.070533 6.03979 3.90909 
    [3,] -1.830597 1.74915 0.173217 5.5275 3.76552 3.100661 4.92384 3.16864 
    [4,] 6.535637 4.59728 5.848335 6.8814 10.25615 6.663288 3.87881 8.71351 
    [5,] 4.666041 -0.49024 2.353359 6.8693 8.86881 9.783803 5.42288 5.88306 
    [6,] 4.959884 2.09005 2.677156 10.1798 7.68598 5.771700 3.64374 4.89176 
    [7,] 4.014322 5.29507 0.238004 6.1883 6.52230 5.079508 5.33247 5.73703 
    ... 

要做到這一點,我一直在使用下面的方法(注意:所有這一切都是在一個循環中完成,因此[x+1]):

MeanMDA[x+1,] <- c(mean(MDA[,1]),mean(MDA[,2]),mean(MDA[,3]),mean(MDA[,4]),mean(MDA[,5]), 
       mean(MDA[,6]),mean(MDA[,7]),mean(MDA[,8])) 

雖然這完美的作品,它會在真正繁瑣列數變大。有時有超過100個變量,我將不得不相應地編輯代碼......是否有另一種更好的方式讓代碼獲取每行的平均值並將其組合成矩陣?

+4

我們可以使用'colMeans'即'colMeans(MDA)' – akrun

+0

一般而言,這是不把彙總值(例如意味着)在相同的矩陣原來是個好主意值。除此之外,你可以使用'rbind(MDA,...)' – jogo

回答

0

我們可以使用colMeans

colMeans(MDA)