R语言-数据处理:dplyr包的summarise函数汇总用法

简介: summarise 函数是dplyr中非常常用的函数,可以快速、高效地计算出每个变量的统计量。本文分享了这个函数的一些最常用用法以供参考

dplyr 中的summarise函数是一种重要的数据汇总统计函数,它可以对数据框中的变量进行聚合操作,计算出每个变量的总和、均值、中位数、标准差等统计量,或者进行自定义的聚合操作。通过summarise函数,我们可以快速、高效地计算出每个变量的统计量,并对数据框进行分组汇总统计。熟练掌握summarise函数的用法,可以大大提高我们的数据处理效率。

功能示例

创建示例数据

    maingroup subgroup        value      norm
1       AAA      Y.1  0.152138053 10.717161
2       AAA      Y.1  0.129267562  8.940263
3       BBB      X.1 -0.360278960  9.723177
...

#### 1、变量类型查看
> df %>% str()
'data.frame':    3000 obs. of  4 variables:
 $ maingroup: chr  "AAA" "AAA" "AAA" "BBB" ...
 $ subgroup: chr  "Y.1" "Y.1" "X.1" "X.1" ...
 $ value   : num  0.152 0.129 0.892 -0.36 -0.224 ...
 $ norm    : num  10.72 8.94 9.67 9.72 10.59 ...

1、统计所有列的空值数

df %>% summarise_all(  ~ sum(is.na(.)) )
>...
  maingroup subgroup value norm
1         0        0     0    0

2、分组统计每组的记录数 n()

df %>% group_by(species) %>% summarise(  n = n() )
>...
# A tibble: 6 x 3
# Groups:   maingroup [3]
  maingroup subgroup     n
  <chr>     <chr>    <int>
1 AAA       X.1        494
2 AAA       Y.1        506
3 BB        X.1        504
4 BB        Y.1        496
5 CCC       X.1        522
6 CCC       Y.1        478

3、根据多列变量进行分组后求和其它组向量

df %>% group_by(maingroup ,subgroup) %>% summarise(across(everything(), sum, na.rm = TRUE))
>...
# A tibble: 6 x 4
# Groups:   rowname [3]
 maingroup subgroup  value  norm
  <chr>   <chr>     <dbl> <dbl>
1 AAA     X.1      -4.57  4969.
2 AAA     Y.1      10.3   5063.
3 BB      X.1       7.11  4906.
4 BB      Y.1      -6.47  5074.
5 CCC     X.1       0.411 4754.
6 CCC     Y.1      -7.94  5239.

4、根据多列变量进行分组后同时对其它组向量求和,求均值

df %>% group_by(maingroup,subgroup ) %>% summarise(across(everything(), list(mean = mean, sum = sum),na.rm = TRUE))
>...
# A tibble: 6 x 6
# Groups:   maingroup [3]
  maingroup subgroup value_mean value_sum norm_mean norm_sum
  <chr>     <chr>         <dbl>     <dbl>     <dbl>    <dbl>
1 AAA       X.1        -0.00708     -3.58     10.0     5059.
2 AAA       Y.1        -0.0312     -15.4      10.1     4984.
3 BB        X.1         0.0358      18.4       9.94    5108.
4 BB        Y.1        -0.0328     -16.0      10.1     4894.
5 CCC       X.1         0.0270      13.3      10.0     4945.
6 CCC       Y.1        -0.00361     -1.83      9.97    5054.

5、求取列向量的分位数

df %>% summarise(across(c(value ,norm), ~quantile(.,na.rm = TRUE)) ) 
>...
         value      norm
1 -0.999550791  6.331832
2 -0.484380580  9.351605
3 -0.009638345 10.029124
4  0.487067557 10.691726
5  0.999956779 13.868918

6、 对指定类型的列进行统计

df %>%  summarise( across(where(is.numeric) & !norm, ~scale(.x)) ) %>% colSums()
>...
value norm
0 0

Reference

https://dplyr.tidyverse.org/

目录
相关文章
|
3月前
|
存储 数据采集 数据处理
R语言数据变换:使用tidyr包进行高效数据整形的探索
【8月更文挑战第29天】`tidyr`包为R语言的数据整形提供了强大的工具。通过`pivot_longer()`、`pivot_wider()`、`separate()`和`unite()`等函数,我们可以轻松地将数据从一种格式转换为另一种格式,以满足不同的分析需求。掌握这些函数的使用,将大大提高我们处理和分析数据的效率。
|
14天前
|
数据挖掘 C语言 C++
R语言是一种强大的统计分析工具,提供了丰富的函数和包用于时间序列分析。
【10月更文挑战第21天】时间序列分析是一种重要的数据分析方法,广泛应用于经济学、金融学、气象学、生态学等领域。R语言是一种强大的统计分析工具,提供了丰富的函数和包用于时间序列分析。本文将介绍使用R语言进行时间序列分析的基本概念、方法和实例,帮助读者掌握R语言在时间序列分析中的应用。
38 3
|
6月前
【R语言实战】——fGARCH包在金融时序上的模拟应用
【R语言实战】——fGARCH包在金融时序上的模拟应用
|
3月前
|
数据可视化 数据挖掘 数据处理
R语言函数与自定义函数:提高代码的复用性
【8月更文挑战第27天】 自定义函数是R语言编程中不可或缺的一部分,它们通过封装复杂的逻辑和提供灵活的参数化设计,极大地提高了代码的复用性和可维护性。通过掌握自定义函数的基本语法和高级技巧,我们可以编写出更加高效、可读的R语言代码,从而更好地应对复杂的数据分析和统计建模任务。
|
6月前
|
存储 算法 Windows
课程视频|R语言bnlearn包:贝叶斯网络的构造及参数学习的原理和实例(下)
课程视频|R语言bnlearn包:贝叶斯网络的构造及参数学习的原理和实例
|
6月前
|
图形学
R语言其他相关函数(各函数解析含实例,可供查询)
R语言其他相关函数(各函数解析含实例,可供查询)
207 0
|
6月前
R语言绘图相关函数(含实例)
R语言绘图相关函数(含实例)
50 0
|
6月前
|
数据可视化
R语言用非凸惩罚函数回归(SCAD、MCP)分析前列腺数据
R语言用非凸惩罚函数回归(SCAD、MCP)分析前列腺数据
|
6月前
|
前端开发 数据挖掘 数据建模
课程视频|R语言bnlearn包:贝叶斯网络的构造及参数学习的原理和实例(中)
课程视频|R语言bnlearn包:贝叶斯网络的构造及参数学习的原理和实例
|
2月前
|
数据采集 机器学习/深度学习 数据可视化
R语言从数据到决策:R语言在商业分析中的实践
【9月更文挑战第1天】R语言在商业分析中的应用广泛而深入,从数据收集、预处理、分析到预测模型构建和决策支持,R语言都提供了强大的工具和功能。通过学习和掌握R语言在商业分析中的实践应用,我们可以更好地利用数据驱动企业决策,提升企业的竞争力和盈利能力。未来,随着大数据和人工智能技术的不断发展,R语言在商业分析领域的应用将更加广泛和深入,为企业带来更多的机遇和挑战。