2017-08-30 66 views
1

我有一個data.frame有2個因素;一個叫做kernel_type(有三個級別:b,e和p)和一個叫做group_by_var(有三個級別:tw,fif,sev)。數據集的第一列稱爲levels_together幷包含數字。R:意味着兩個因素

我有第二個data.frame具有相同的結構,在levels_together列中有不同的數字。

他們看起來像這樣:

levels_together group_by_var kernel_type 
1    0.051  tw  b 
2    0.055  tw  b 
3    0.053  fif b 
4    0.046  fif b 
5    0.053  sev b 
6    0.050  sev b 
7    0.059  tw  e 
8    0.056  tw  e 
9    0.052  fif e 
10   0.044  fif e 
11   0.058  sev e 
12   0.053  sev e 
13   0.052  tw  p 
14   0.053  tw  p 
15   0.051  fif p 
16   0.044  fif p 
17   0.051  sev p 
18   0.050  sev p 

我想levels_together對於b內TW的均值;對於b內FIF等前三個最終的數字應該是:

0.053(平均B內部TW)的 0.0495(平均B內部FIF的) 0.0515(平均B內部SEV)的

如何我可以用一個應用函數來完成這個嗎?

+1

rbind 2個dataframes,如果超過2個dataframes看到[此帖](https://stackoverflow.com/questions/2851327/convert-a-list-of -data-frames-into-one-data-frame)關於如何對多個數據幀進行綁定。然後使用@ G5W發佈的答案。 – zx8754

回答

2

爲此,您可以用aggregate

aggregate(levels_together ~ group_by_var + kernel_type, data=df, FUN=mean) 
    group_by_var kernel_type levels_together 
1   fif   b   0.0495 
2   sev   b   0.0515 
3   tw   b   0.0530 
4   fif   e   0.0480 
5   sev   e   0.0555 
6   tw   e   0.0575 
7   fif   p   0.0475 
8   sev   p   0.0505 
9   tw   p   0.0525