如何在 r 中的数据框中找到数字的最大值和最小值?

How do I find the max and min of a numeric wrt a factor in data frame in r?

我有一个包含几列的数据框,需要计算一个变量的平均值与一个因子之间的差值。例如:

C1    C2 
3     A
5     B
9     A
10    A
12    A
9     B
20    B

我想得到:

A 9
B 15

我试过了

aggregate(C1 ~ C2, data = df, FUN = function(x) max()-min()) 

但是没用。感觉应该用sapply,但是不知道怎么用

您定义了一个匿名函数,但没有指定要在任何地方使用的变量。

function(x) max() - min()替换为function(x) max(x) - min(x)

换句话说:

aggregate(C1 ~ C2, mydf, function(x) max(x) - min(x))
#   C2 C1
# 1  A  9
# 2  B 15

你也可以想象使用:aggregate(C1 ~ C2, mydf, function(x) diff(range(x))).