📅  最后修改于: 2023-12-03 15:04:45.411000             🧑  作者: Mango
在 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()
函数计算每组数据中 mpg
和 disp
两列数据的均值和标准偏差:
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()
函数的基本用法和高级用法,其中包括了分组聚合、使用别名、自定义函数聚合和多种变量统计等。通过掌握上述知识,我们可以更有效地进行数据汇总和快速统计分析,提高工作效率。