2017-07-15 41 views
-2

我有這樣幾個列的數據幀:[R數據框:如何通過2列分割計算平均數

(我有很多欄目,從中我要計算平均值,所以我不能滿足他們按名稱)

df: 
    A B C  D  E  F.... 
    1 1 10 ... ... ... 
    1 1 30 ... ... ... 
    1 2 100 ... ... ... 
    1 2 300 ... ... ... 
    2 1 4  ... ... ... 
    2 1 6  ... ... ... 
    2 1 8  ... ... ... 

現在我想這個數據幀分成A和B組和計算這樣的平均值:

A=1: 
    B=1: mean = 20 
    B=2: mean = 200 
A=2: 
    B=1: mean = 6 

我會怎麼做呢?

謝謝!

+0

隨着'dplyr'可以'DF%>%GROUP_BY(A,B)%>%總結(平均=平均(C) )' – ekstroem

+1

以'R','aggregate(C〜A + B,data = df,FUN = mean)'爲基礎。 –

回答

0

您可以使用dplyr

對於

library(dplyr) 
df %>% 
    gather("Col","Numbers", C:length(.)) %>% 
    group_by(A, B) %>% 
    summarise(mean = mean(Numbers)) 

最佳,

科林