R语言ETL系列:汇总(summarise)

本文详细介绍了如何使用R语言的summarise函数进行数据汇总,包括中心化(平均值、中位数)、离散化(标准差、四分位距)、范围、位置、计数和逻辑等不同类型的汇总操作。通过实例展示了如何处理缺失值、自定义汇总功能,并给出了相应的SQL代码对照。
摘要由CSDN通过智能技术生成

640?wx_fmt=png

作者:黄天元,复旦大学博士在读,目前研究涉及文本挖掘、社交网络分析和机器学习等。希望与大家分享学习经验,推广并加深R语言在业界的应用。

邮箱:huang.tian-yuan@qq.com


本章讲解如何使用summarise函数完成数据的汇总。在开讲之前,我们需要理解,什么叫做汇总。举个例子,如果我们现在对学校的学生身高进行了测量,我们需要得到学生的平均身高,那么我们把所有学生的身高加起来,除以学生的数量,得到身高平均值,这就完成了一个汇总计算。汇总计算的方式多种多样,比如我们要得到最高的身高是多少,最低的身高是多少,身高是中位数是多少,这些都是汇总计算。
在数据表中,数据的汇总的实质就是:我们根据一列数据(本质来说是一个向量),得到一个值,来反映总体在这个属性上的特征。本章会用到R语言自带cars数据集,下面我们先加载需要的包,并把cars转化为tibble,存放在cars1变量中。它只包含两列数据,第一列是汽车的即时速度,第二列是这个速度下要停止下来会继续跑多远。


 1library(tidyverse)
2cars %>% as_tibble() -> cars1
3cars1
4## # A tibble: 50 x 2
5##    speed  dist
6##    <dbl> <dbl>
7##  1     4     2
8##  2     4    10
9##  3     7     4
10##  4     7    22
11##  5     8    16
12##  6     9    10
13##  7    10    18
14##  8    10    26
15##  9    10    34
16## 10    11    17
17## # ... with 40 more rows


汇总基本范式

均值和中位数代表了数据的一般水平,是重要的衡量指标。下面我们看看如何汇总测试的平均值和中位数。

 1#平均速度
2cars1 %>%
3  summarise(mean(speed))
4## # A tibble: 1 x 1
5##   `mean(speed)`
6##           <dbl>
7## 1          15.4
8#速度的中位数
9cars1 %>% 
10  summarise(median(speed))
11## # A tibble: 1 x 1
12##   `median(speed)`
13##             <dbl>
14## 1              15


SQL代码分别为:

<SQL> SELECT AVG(`speed`) AS `mean(speed)`
FROM `cars1`

<SQL> SELECT MEDIAN(`speed`) AS `median(speed)`
FROM `cars1`

注意,我们这里没有给最后的结果命名,因此结果中默认原来的值为命名,也就是说mean(speed)成为了列的名称,事实上我们可以通过赋值来改变它,例子如下:

1cars1 %>%
2  summarise(speed_avg = mean(speed))
3#
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值