📜  在 R 编程中计算子集的汇总统计信息 - 聚合()函数(1)

📅  最后修改于: 2023-12-03 15:23:18.013000             🧑  作者: Mango

在 R 编程中计算子集的汇总统计信息 - 聚合()函数

在 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

代码解释:

  • cbind(mpg, disp) ~ cyl + gear:表示我们想要计算 mpg 和 disp 变量的平均值和中位数,按 cyl 和 gear 变量进行分组。
  • data = mtcars:表示数据集为 mtcars。
  • FUN = function(x) {...}:表示我们想要计算 x 变量的平均值和中位数。

我们可以看到,聚合() 函数返回了一个数据框,其中各行表示一个组合(每个组合都由 cyl 和 gear 两个变量的取值确定),每一列表示一个指定的统计计算(mean 或 median),以及对应的计算结果。

总结

聚合() 函数是 R 编程中非常常用的一个函数,它可以对数据集进行分组,然后对各个分组进行指定的统计计算,并返回一个数据框。使用该函数可以方便地进行子集数据的汇总统计,适用于各种不同类型的数据分析和建模任务。