第4章 数据基本管理教学课件R语言数据分析与挖掘.pptx
《第4章 数据基本管理教学课件R语言数据分析与挖掘.pptx》由会员分享,可在线阅读,更多相关《第4章 数据基本管理教学课件R语言数据分析与挖掘.pptx(32页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第4章 数据基本管理教学课件R语言数据分析与挖掘目录PAGE数据去重01202数据筛选03数据合并04数据排序数据关联0106融合重铸07数据聚合08数据转换05数据分组PAGE3数据基本管理常用的数据基本管理手段包括:数据去重、数据排序、数据筛洗、数据合并、数据聚合等操作3R语言数据分析与挖掘(微课版)PAGE数据去重401PAGE5数据去重我们可以通过base扩展包的unique()函数或者dplyr扩展包的distinct()函数轻松实现。其中unique()函数能对矩阵、数组或数据框进行操作,移除重复元素或记录。在做数据分析及建模时,遇到最多的数据对象当属数据框。以下代码实现分别利用u
2、nique()和distinct()函数对数据框的重复记录进行删除。5R语言数据分析与挖掘(微课版)set.seed(1234)df-data.frame(x1=sample(1:3,8,replace=T),x2=sample(letters1:3,8,replace=T)dfx1 x21 2 c2 2 b3 1 b4 3 b5 1 c6 1 b7 2 b8 2 b(a-unique(df)x1 x21 2 c2 2 b3 1 b4 3 b5 1 cif(!require(dplyr)install.packages(dplyr)#加载dplyr包,如不存在就进行在线安装(b set.see
3、d(1234)v v 1 10 6 5 4 1 8 2 7 9 3 sort(v)1 1 2 3 4 5 6 7 8 9 10 order(v)1 5 7 10 4 3 2 8 6 9 1PAGE数据筛选803PAGE9数据筛选有时候,我们更关注数据集中的部分数据,可以利用R语言强大的索引特性来定位符合筛选条件的元素。比如我们查看鸢尾花数据集iris前6行、第1,3,5列的数据子集,以下代码通过指定下标集的方式实现。也可以根据表达式得到符合条件的数据子集。比如想提取变量Sepal.Length值大于5.5且变量因子水平为setosa的数据子集,可通过以下代码实现。9R语言数据分析与挖掘(微课版
4、)iris1:6,c(1,3,5)Sepal.Length Petal.Length Species1 5.1 1.4 setosa2 4.9 1.4 setosa3 4.7 1.3 setosa4 4.6 1.5 setosa5 5.0 1.4 setosa6 5.4 1.7 setosa irisiris$Sepal.Length5.5&iris$Species=setosa,Sepal.Length Sepal.Width Petal.Length Petal.Width Species15 5.8 4.0 1.2 0.2 setosa16 5.7 4.4 1.5 0.4 setosa1
5、9 5.7 3.8 1.7 0.3 setosaPAGE10数据筛选-subset()函数基础包的subset()函数非常适合做数据筛选的工作。subset()函数主要参数有两个:参数subset是逻辑表达式,用来过滤符合条件的行或元素;参数select是用来选择需要保留的列。下面以汽车数据集mtcars为例,讲解subset()函数的用法。10R语言数据分析与挖掘(微课版)subset(mtcars,cyl=4,select=mpg:hp)mpg cyl disp hpDatsun 710 22.8 4 108.0 93Merc 240D 24.4 4 146.7 62Merc 230 22
6、.8 4 140.8 95Fiat 128 32.4 4 78.7 66Honda Civic 30.4 4 75.7 52Toyota Corolla 33.9 4 71.1 65Toyota Corona 21.5 4 120.1 97Fiat X1-9 27.3 4 79.0 66Porsche 914-2 26.0 4 120.3 91Lotus Europa 30.4 4 95.1 113Volvo 142E 21.4 4 121.0 109还可以给参数subset传递正则表达式,返回符合条件的模糊匹配结果。以下代码实现提取汽车名称包含“Merc”或“Fiat”文字的记录。现在想筛选
7、出气缸数(cyl)为4,前4列的数据子集,可以通过以下代码实现。PAGE11数据筛选-filter()函数dplyr扩展包的filter()函数也能对数据进行筛选操作。以下代码通过两种方式实现提取变量cyl值为4的数据子集。11R语言数据分析与挖掘(微课版)PAGE数据合并1204PAGE13数据合并-rbind()和cbind()函数基础包的行合并rbind()和列合并cbind()函数在第二章已经接触过。这两个函数很简单,大家记住一点:rbind()函数使用时要确保各数据对象具有相同的列数,cbind()使用时要确保各数据对象具有相同的行数。13R语言数据分析与挖掘(微课版)PAGE14数
8、据合并-bind_rows()和bind_cols()函数在dplyr扩展包中有bind_rows()和bind_cols()函数实现简单的行列合并功能,需要注意的一点是,这两个函数只能操作数据框。继续以r1、r2为例进行说明,在使用函数前,需要将数据对象转换成数据框。14R语言数据分析与挖掘(微课版)PAGE数据关联1505PAGE16数据关联-merge()函数通过cbind()函数可以实现简单的数据合并,如果想实现更复杂的数据匹配,就需要借助merge()函数了。R语言中的merge()函数类似于Excel中的Vlookup()函数,可以实现对两个数据表进行匹配和拼接功能。merge()
9、函数的表达形式如下:16R语言数据分析与挖掘(微课版)merge(x,y,by=intersect(names(x),names(y),by.x=by,by.y=by,all=FALSE,all.x=all,all.y=all,sort=TRUE,suffixes=c(.x,.y),no.dups=TRUE,incomparables=NULL,.)PAGE17数据关联-merge()函数4种拼接模式merge()函数有4种匹配拼接模式,分别为inner,left,right和outer模式。其中inner为默认的匹配模式,代表内连接;all=T代表全连接;all.x=T代表左连接;all.y
10、=T代表右连接。17R语言数据分析与挖掘(微课版)PAGE18数据关联-merge()函数一次只能拼接两张表merge()函数一次只能匹配两个表,如果想实现两张表以上的关联,则需要多次运用merge()函数实现。比如现在多了一个数据框math_score,记录了学生名字和数学成绩。以下代码实现将学生性别、英语成绩、数学成绩关联到一个宽表中18R语言数据分析与挖掘(微课版)PAGE19数据关联-dplyr包dplyr扩展包的left_join()、right_join()、inner_join()、full_join()函数也能轻松实现左连接、右连接、内连接和全连接。以下代码利用full_joi
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第4章 数据基本管理教学课件R语言数据分析与挖掘 数据 基本 管理 教学 课件 语言 分析 挖掘
限制150内