![3901436-69a8c40562ee2b30](https://i-blog.csdnimg.cn/blog_migrate/95cc15260980c5aef40402804f848067.webp?x-image-process=image/format,png)
欢迎关注天善智能,我们是专注于商业智能BI,人工智能AI,大数据分析与挖掘领域的垂直社区,学习,问答、求职一站式搞定!
对商业智能BI、大数据分析挖掘、机器学习,python,R等数据领域感兴趣的同学加微信:tstoutiao,邀请你进入数据爱好者交流群,数据爱好者们都在这儿。
作者:黄天元,复旦大学博士在读,目前研究涉及文本挖掘、社交网络分析和机器学习等。希望与大家分享学习经验,推广并加深R语言在业界的应用。
邮箱:huang.tian-yuan@qq.com
本章会讲解如何对数据进行分组。首先我们要明确一点,就是为什么要分组,实际应用的场景是什么?
如果我们现在有一个学校,我们想要分别得到男生和女生的平均身高,就需要分组,也就是根据性别对学生的身高分组,然后分别求平均值。这个例子我们只是分了两组,可能大家还看不到分组的力量。那么,如果我们现在要知道每一个班级数学成绩的平均分,那么我们就要对数据成绩根据班级分组,比如我们一个年级有12个班级,那么就要对12个班级分别计算平均分。当分组的数量越多的时候,如果没有分组的操作,分开来一个一个计算是极其耗时的。所以分组功能在实际工作中,具有非常广泛的应用。
下面我们围绕分组进行举例分析,这次我们会用到R语言自带的mtcars数据集,首先我们把它转化成tibble形式,然后存放在mtcars1中。准备代码如下:
1library(tidyverse)
2
3mtcars %>% as_tibble() -> mtcars1
4
5mtcars1
6
7## # A tibble: 32 x 11
8## mpg cyl disp hp drat wt qsec vs am gear carb
9## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
10## 1 21 6 160 110 3.9