前言
这个函数的功能比较强大,它首先将数据进行分组(按行),然后对每一组数据进行函数统计,最后把结果组合成一个比较nice的表格返回。根据数据对象不同它有三种用法,分别应用于数据框(data.frame)、公式(formula)和时间序列(ts):
aggregate(x, by, FUN, ..., simplify =TRUE)
aggregate(formula, data, FUN, ..., subset, na.action=na.omit)
aggregate(x, nfrequency= 1, FUN = sum, ndeltat = 1, ts.eps = getOption("ts.eps"), ...)
语法
aggregate(x, ...)
## S3 method for class 'default':
aggregate((x, ...))
## S3 method for class 'data.frame':
aggregate((x, by, FUN, ..., simplify = TRUE))
## S3 method for class 'formula':
aggregate((formula, data, FUN, ...,
subset, na.action = na.omit))
## S3 method for class 'ts':
aggregate((x, nfrequency = 1, FUN = sum, ndeltat = 1,
ts.eps = getOption("ts.eps"), ...))
###细节查看 ?aggregate
Example1
我们通过 mtcars 数据集的操作对这个函数进行简单了解。mtcars 是不同类型汽车道路测试的数据框类型数据:
>str(mtcars)
'data.frame': 32 obs. of 11 variables:
$mpg : num 21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ...
$cyl : num 6 6 4 6 8 6 8 4 4 6 ...
$disp: num 160 160 108 258 360 ...
$hp : num 110 110 93 110 175 105 245 62 95 123 ...
$drat: num 3.9 3.9 3.85 3.08 3.15 2.76 3.21 3.69 3.92 3.92 ...
$wt : num 2.62 2.88 2.32 3.21 3.44 ...
$qsec: nu