《数据科学:R语言实现》——3.8 合并数据

3.8 合并数据

数据合并让我们理解不同数据源是如何相互关联的。R中的merge操作与数据库中的join操作类似,它使用两个数据集中相同的值来连接两个数据集。

准备工作

按照3.3节“转换数据类型”教程,把导入数据的每个属性转换成合适的数据类型。同时按照3.2节“重命名数据变量”中的步骤,命名employees和salaries数据集的列名。

实现步骤

执行下列步骤,合并salaries和employees。

1.因为salaries和employees都有emp_no,我们可以使用emp_no作为连接键合并两个数据集:

2.我们可以给舍弃的属性指定NULL值:

3.除了使用函数merge,我们可以安装加载plyr程序包来操作数据:

4.我们可以使用plyr中的函数join来合并数据:

运行原理

与数据库中的数据表类似,我们有时候也需要合并两个数据集,进而进行数据关联。在R中,我们只需要使用函数merge合并相同列值下的两个数据框。

在函数merge中,我们使用salaries和employees作为输入数据框。对于by参数,我们指定emp_no作为键合并这两个表。然后,我们看到在emp_no上取值相同的数据合并到了一个新的数据框中。但是,有时我们希望执行左连接或者右连接,以达到保留employees或salaries所有数据值的目的。要执行左连接,我们设置all.x为TRUE。然后我们发现employees所有行都在合并结果中保留了下来。相反,如果我们希望保留salaries的所有行,我们可以设置all.y为TRUE。

除了使用内置的merge函数,我们可以安装加载plyr程序包来合并数据集。join的用法与merge类似,我们只需要指定要合并的数据以及by参数中相同值所在的列。

更多技能

在plyr程序包中,我们可以使用函数join_all,在一个列表中递归地连接数据集。这里,我们可以使用join_all按照emp_no合并employees和salaries数据集:

时间: 2024-08-01 10:30:24

《数据科学:R语言实现》——3.8 合并数据的相关文章

《数据科学R语言实践:面向计算推理与问题求解的案例研究法》一一2.3 数据清洗和变量格式化

2.3 数据清洗和变量格式化 本节我们考虑如何将特征矩阵列表menResMat转换为合适的格式以便于数据分析.目前,这些数据值都是字符型,这对于诸如找到参赛者年龄的中位数这样的数据分析是无益的.但是,我们可以利用as.numeric()函数很容易地将年龄转换为数值型.我们需要将整个矩阵都转换为数值型矩阵吗?事实并非如此,比如将参赛者的名字转换为数值型就毫无意义.为此,我们需要创建一个可以允许拥有不同类型变量的数据框.现在我们有6个变量:参赛者姓名.居住地.年龄以及3种类型的时间.正如刚才所说,我

R语言为Hadoop集群数据统计分析带来革命性变化

R作为开源的数据统计分析语言正潜移默化的在企业中扩大自己的影响力.特有的扩展插件可提供免费扩展,并且允许R语言引擎运行在Hadoop集群之上. R语言是主要用于统计分析.绘图的语言和操作环境.R本来是由来自新西兰奥克兰大学的Ross Ihaka和Robert Gentleman开发.(也因此称为R)现在由"R开发核心团队"负责开发.R是基于S语言的一个GNU项目,所以也可以当作S语言的一种实现,通常用 S语言编写的代码都可以不作修改的在R环境下运行.R的语法是来自Scheme. R的源

手把手 | 教你爬下100部电影数据:R语言网页爬取入门指南

前言 网页上的数据和信息正在呈指数级增长.如今我们都使用谷歌作为知识的首要来源--无论是寻找对某地的评论还是了解新的术语.所有这些信息都已经可以从网上轻而易举地获得. 网络中可用数据的增多为数据科学家开辟了可能性的新天地.我非常相信网页爬取是任何一个数据科学家的必备技能.在如今的世界里,我们所需的数据都在互联网上,使用它们唯一受限的是我们对数据的获取能力.有了本文的帮助,您定会克服这个困难. 网上大多数的可用数据并不容易获取.它们以非结构化的形式(HTML格式)表示,并且不能下载.因此,这便需要

2013年数据分析、数据挖掘、数据科学使用语言排行榜

 最受欢迎的语言仍然是R( KDnuggets 读者中有61%用户在用),python(39%),SQL(37%).SAS仍然稳定在20%之间.增长最快是:Pig/Hive/Hadoop为基础的语言.R.SQL,同时perl, C/C++, 与Unix 在下降.同时我们发现,R与python用户存在一定的重叠. 之前的KDnuggets的调查主要是关注:统计与分析软件,但有时候一个全面与强大的编程语言是需要的.这也是最近一次的KDnuggets调查关注的重点,我们咨询: 在2013年中,什么样的

《R语言数据挖掘》----1.12 数据集成

本节书摘来自华章出版社<R语言数据挖掘>一书中的第1章,第1.12节,作者[哈萨克斯坦]贝特·麦克哈贝尔(Bater Makhabel),李洪成 许金炜 段力辉 译,更多章节内容可以访问"华章计算机"公众号查看. 1.12 数据集成 数据集成将多个数据源中的数据合并,形成一个一致的数据存储.其常见的问题如下: 异构数据:这没有普遍的解决方案. 不同的定义(different definition):这是内在的,即相同的数据具有不同的定义,如不同的数据库模式. 时间一致性:这

《R语言数据挖掘》----1.14 数据变换与离散化

本节书摘来自华章出版社<R语言数据挖掘>一书中的第1章,第1.14节,作者[哈萨克斯坦]贝特·麦克哈贝尔(Bater Makhabel),李洪成 许金炜 段力辉 译,更多章节内容可以访问"华章计算机"公众号查看. 1.14 数据变换与离散化 根据前面的内容,我们可以知道总有一些数据格式最适合特定的数据挖掘算法.数据变换是一种将原始数据变换成较好数据格式的方法,以便作为数据处理前特定数据挖掘算法的输入. 1.14.1 数据变换 数据变换程序将数据变换成可用于挖掘的恰当形式.它

《R语言数据挖掘》----1.13 数据降维

本节书摘来自华章出版社<R语言数据挖掘>一书中的第1章,第1.13节,作者[哈萨克斯坦]贝特·麦克哈贝尔(Bater Makhabel),李洪成 许金炜 段力辉 译,更多章节内容可以访问"华章计算机"公众号查看. 1.13 数据降维 在分析复杂的多变量数据集时,降低维度往往是必要的,因为这样的数据集总是以高维形式呈现.因此,举例来说,从大量变量来建模的问题和基于定性数据多维分析的数据挖掘任务.同样,有很多方法可以用来对定性数据进行数据降维. 降低维度的目标就是通过两个或者多

清华大学数据科学研究院与Cloudera联手发布大数据人才教育项目

根据IDC研究显示,大数据解决方案将在未来四年中,帮助全球企业分享大约1.6万亿美元新增收入的数据红利.在大数据产业发展中,以Hadoop为代表的开源大数据生态成为大数据和云计算的重要技术支撑,有效推动了开源社区的用户和贡献者,带动了技术进步与商业发展.而在全球范围内,大数据行业正在面临数据专业人才短缺的困境. 2016年8月5日,清华大学数据科学研究院("清华数科院")宣布与Cloudera合作. Hadoop之父.Cloudera首席架构师Doug Cutting与清华大学数据科学

Python赶超R语言,成为数据科学、机器学习平台中最热门的语言?

近日,kdnuggets做了一个关于数据科学.机器学习语言使用情况的问卷调查,他们分析了954个回答,得出结论--Python已经打败R语言,成为分析.数据科学和机器学习平台中使用频率最高的语言.有关此次问卷更具体的情况如何?笔者将kdnuggets上发表的总结文编译整理如下: 之前我们在kdnuggets上做了这样一个问卷调查,2016.2017两年,在分析.数据科学和机器学习的工作中,你用R语言,还是Python,或两者都用,或选择其他的语言? 通过分析954个回答,我们得出了这样的结论:虽

《数据科学:R语言实战》一导读

前 言 数据科学:R语言实战R是为数据操作及统计计算提供语言及环境的软件包,同样也能够用图表表示产生的统计数据. R具有以下特性: 语法简洁,可对数据执行操作: 附带的工具可通过本地和互联网以多种格式加载和存储数据: 语言一致,可对内存中的数据集进行操作: 具有用于数据分析的内置和开源工具: 采用生成实时图形和将图示存储到磁盘的方法. 目 录 第1章 模式的数据挖掘1.1 聚类分析1.2 异常检测1.3 关联规则1.4 问题1.5 总结第2章 序列的数据挖掘2.1 模式2.2 问题2.3 总结第