简体   繁体   English

R:均值超过两个因素

[英]R: mean over two factors

I have a data.frame that has 2 factors; 我有一个有两个因素的data.frame one called kernel_type (with 3 levels: b, e, and p) and one called group_by_var (with 3 levels: tw, fif, sev). 一种称为kernel_type(具有3个级别:b,e和p),另一种称为group_by_var(具有3个级别:tw,fif,sev)。 The first column of the dataset is called levels_together and contains numbers. 数据集的第一列称为“ levels_together”,其中包含数字。

I have a second data.frame with the same structure, with different numbers in the levels_together column. 我有data.frame具有相同结构的data.frame,在level_together列中具有不同的数字。

They look like this: 他们看起来像这样:

   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

I would like the mean of levels_together for tw within b; 我想要b中tw的levels_together的平均值; for fif within b, etc. The first three final numbers should be: b内的fif等。前三个最终数字应为:

0.053 (mean of tw within b) 0.0495 (mean of fif within b) 0.0515 (mean of sev within b) 0.053(b内tw的平均值)0.0495(b内的fif平均值)0.0515(b内的sev平均值)

How can I accomplish this with an apply function? 如何使用Apply函数完成此操作?

You can do this with aggregate 您可以通过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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM