📅  最后修改于: 2023-12-03 15:23:18.013000             🧑  作者: Mango
在 R 编程中,我们经常需要对数据集进行汇总统计,例如计算平均值、总和、中位数等。针对子集或分组数据的汇总统计,我们可以使用 R 中的聚合() 函数。
聚合() 函数可以对数据集进行分组,然后对各个分组进行指定的统计计算,并返回一个数据框。其基本用法如下:
聚合函数(数据集,by = 分组变量,FUN = 指定的函数)
其中,FUN 参数可以指定一个或多个统计函数,包括 mean、sum、median 等。
接下来,我们以一个例子来演示聚合() 函数的用法。
我们使用 R 内置的 mtcars 数据集作为例子,该数据集包含 32 个汽车样本以及它们的各种属性数据。我们需要针对该数据集的两个变量(cyl 和 gear),进行汇总统计。
首先,我们读取数据集并查看前 5 行:
head(mtcars)
输出如下:
mpg cyl disp hp drat wt qsec vs am gear carb
Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
接下来,我们使用聚合() 函数对 cyl 和 gear 变量进行汇总统计,计算它们的平均值和中位数。具体代码如下:
aggregate(cbind(mpg, disp) ~ cyl + gear, data = mtcars, FUN = function(x) {
c(mean = mean(x), median = median(x))
})
输出如下:
cyl gear mpg.mean mpg.median disp.mean disp.median
1 4 3 21.50000 22.80000 105.13636 108.0000
2 6 3 19.75000 19.75000 241.50000 242.9000
3 8 3 15.05000 15.20000 357.61667 351.0000
4 4 4 26.92500 26.00000 93.61250 90.0000
5 6 4 19.75000 19.75000 163.80000 163.8000
6 8 5 15.40000 15.40000 326.00000 326.0000
7 4 5 28.20000 28.20000 108.00000 108.0000
8 6 5 19.70000 19.70000 145.00000 145.0000
代码解释:
我们可以看到,聚合() 函数返回了一个数据框,其中各行表示一个组合(每个组合都由 cyl 和 gear 两个变量的取值确定),每一列表示一个指定的统计计算(mean 或 median),以及对应的计算结果。
聚合() 函数是 R 编程中非常常用的一个函数,它可以对数据集进行分组,然后对各个分组进行指定的统计计算,并返回一个数据框。使用该函数可以方便地进行子集数据的汇总统计,适用于各种不同类型的数据分析和建模任务。