📜  R 中的 summarise() 函数 (1)

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

R 中的 summarise() 函数

在 R 中,summarise() 函数是一个十分有用的函数,它可以对数据进行聚合操作,生成汇总信息、统计指标等结果。本文将为大家介绍 summarise() 函数的用法和相关示例。

summarise() 函数的基本用法

在 R 中使用 summarise() 函数需要依赖 dplyr 包。首先,我们可以通过 group_by() 函数对数据进行分组,然后再对每个分组使用 summarise() 函数统计聚合结果。

示例代码如下:

library(dplyr)
data(mtcars)

mtcars %>%
  group_by(cyl) %>%
  summarise(mean_mpg = mean(mpg),
            max_mpg = max(mpg),
            min_mpg = min(mpg))

上述代码的含义是根据 mtcars 数据集中汽车的气缸数(cyl)进行分组,并且使用 summarise() 函数统计每组中的 mpg 列的均值 mean_mpg、最大值 max_mpg 和最小值 min_mpg

输出示例:

| cyl|mean_mpg|max_mpg|min_mpg| |----:|-------:|------:|------:| | 4| 26.663| 33.90| 21.40| | 6| 19.742| 21.40| 17.80| | 8| 15.100| 19.20| 10.40|

summarise() 函数的高级用法

除了可以使用简单的聚合函数,例如 mean()max()min() 等,summarise() 函数还支持一些更加高级的聚合操作。下面是一些示例:

聚合操作的别名

summarise()函数支持使用别名的方式统计汇总信息,例如:

mtcars %>%
  group_by(cyl) %>%
  summarise(平均油耗 = mean(mpg),
            最大油耗 = max(mpg),
            最小油耗 = min(mpg))
使用自定义函数进行聚合

summarise() 函数中,可以使用自定义的函数进行聚合操作。例如,下面的代码使用了自定义函数 cv() 计算了百分位差:

cv <- function(x) {
  100 * sd(x) / mean(x)
}

mtcars %>% group_by(cyl) %>%
  summarise(cv_mpg = cv(mpg))
统计一组数据中的多个信息

在某些情况下,我们需要统计一组数据中的多个汇总信息。这时,我们可以使用 across() 函数实现。

例如,下面的代码显示了如何使用 across() 函数计算每组数据中 mpgdisp 两列数据的均值和标准偏差:

mtcars %>% group_by(cyl) %>%
  summarise(across(c(mpg, disp), list(平均数 = mean, 标准偏差 = sd)))

输出示例:

| cyl| mpg_平均数|disp_平均数|mpg_标准偏差|disp_标准偏差| |---:|----------:|----------:|------------:|------------:| | 4| 26.66| 105.14| 4.51| 26.87| | 6| 19.74| 183.31| 1.45| 41.56| | 8| 15.10| 353.85| 2.56| 97.05|

总结

本文介绍了 R 中 summarise() 函数的基本用法和高级用法,其中包括了分组聚合、使用别名、自定义函数聚合和多种变量统计等。通过掌握上述知识,我们可以更有效地进行数据汇总和快速统计分析,提高工作效率。