我使用聚合方法在R中对数据进行了分组。
Avg=aggregate(x$a, by=list(x$b,x$c),FUN= mean)
这个代码给出了数据框'x'中按照'b'和'c'分组的所有'a'值的平均值。
现在,我想要计算按照'b'和'c'分组的'a'值的最大的三个值的平均值,而不是所有'a'值的平均值。
数据集示例:
a b c
10 G 3
20 G 3
22 G 3
10 G 3
15 G 3
25 G 3
30 G 3
在上述聚合函数之后,它将给我一个结果。
Group.1 Group.2 x
G 3 18.85
但是我只想取前5个数,计算平均值。
Group.1 Group.2 x
G 3 22.40
我无法容纳我在聚合函数中使用的以下最大函数。
index <- order(vector, decreasing = T)[1:5]
vector(index)
请问有人能解释一下这是如何实现的吗?
..function(z) myfunc(z, 5))
替换函数的最后一部分,这样可以吗?我现在不在电脑旁。 - talat