[英]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.