2017-07-15 35 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)) 

最佳,

科林