《R语言数据挖掘:实用项目解析》——1.4 排序与合并数据框

1.4 排序与合并数据框

在做数据管理时,排序与合并是两个重要概念。它们的操作对象可以是单一向量或者是一个数据框,还可以是一个矩阵。R语言中的sort()用于对向量进行排序。降序命令选项可用以改变排序的方向(升序或降序)。在处理像ArtPiece.csv这样的数据框时,用order命令对数据进行排序,可以设置多个变量是升序还是降序。如要执行降序,可以在一个变量名前加一个负号。下面利用一个数据集来阐释R语言中的排序概念,代码如下:

ArtPiece数据集里有16个变量:10个数值变量和6个分类变量。使用names命令可输出数据集中所有变量的名字。借助attach函数,当前R会话中的所有变量名都会保存下来,用户就不需要每次在输入变量名时在前面加上数据名:

排序默认采用升序排列,如果想对向量进行降序排列,则需要在排序的变量名前加一个负号。如下所示,变量Critic.Ratings也可以以降序排列。要以降序排列,命令中的decreasing需要设置成True:

除了对单个数值向量排序,大多数时候数据集需要按一些输入变量或数据框中的当前属性进行排序。对单个变量排序和对数据框排序有很大不同。下面的代码演示了如何使用order函数对数据框排序:

如上面的代码所示,变量Critic.Ratings和Acq. Cost以升序排列,使用的是order命令而非sort命令。head命令默认输出有序数据的前6条记录。order命令中的第二个参数1∶5表明我们想要输出ArtPiece数据集前6条记录的前五个变量。如果需要输出前10条记录,可以执行head(i2, 10)。这个数据集没有缺失值,但需要注意的是,实际数据中是存在缺失值(NA)的。而在有缺失值(NA)时,数据框的排序会变得比较棘手。假使将数据集中的任意NA值纳入考虑,order命令会产生以下结果:

NA.LAST命令用于将缺失值(NA值)从数据集中分离开来——它们会被放到数据集的末尾(如果NA.LAST是TRUE),或是数据集的开头(如果NA.FAST是FALSE)。在order函数中分离出NA值可以保证数据的完整性。

merge函数用于合并两个数据框。要合并两个数据框,前提是它们至少有一列是同名的。两个数据框也可以通过列合并函数合并。为了显示列合并函数和merge函数的区别,我们以audit.CSV数据集作为例子。现有从audit数据集中抽取的两个小数据集A和B:

以ID和Employment这两列作为数据集A和B的公共列,可以以此作为合并两个数据框的主键。使用merge命令,共有列将在merge函数的输出数据集中出现一次。合并的数据框包含了两个数据框的所有行:

merge函数提供4种合并数据的方法:自然连接、全外部连接、左外部连接和右外部连接。除了这些连接外,两个数据框还可以基于任何指定的单列或多列进行合并。自然连接只保留两个数据框合并时匹配上的行,可用参数all=F设定:

全外部连接让我们可以保留两个数据框的所有行,这可用all=T命令指定。它执行全合并,并用NA值补全两个数据框中都没有匹配数据的列。merge函数默认会除去两个数据框中所有不相匹配的记录。若要在新数据框中保留所有记录,则需要设定all=T:

左外部连接将包含数据框1(A)的所有行和数据框2(B)中连接匹配上的行。若要完成左外部连接,则需要规定all.x=T:

右外部连接将包含数据框B的所有行和数据框A中连接匹配上的行。若要完成右外部连接,则需要规定all.y=T:


在数据框A和B中,有两个公共列,即ID和Employment。使用merge函数时,如果选择按单个公共列合并,那么另一个公共列也会出现在输出数据框中。如果合并多个数据框,多重的列将不会出现在输出数据框中:

在两个数据框至少有一个共同列时,merge函数是有用的。如果两个数据框都包含不重叠的列或者两个数据框没有共同列,可使用column bind函数合并两个数据框。column bind函数输出数据框A和数据框B中的所有列且将其并排排列。

时间: 2024-12-28 06:11:57

《R语言数据挖掘:实用项目解析》——1.4 排序与合并数据框的相关文章

《R语言数据挖掘:实用项目解析》——第1章,第1.4节排序与合并数据框

1.4 排序与合并数据框在做数据管理时,排序与合并是两个重要概念.它们的操作对象可以是单一向量或者是一个数据框,还可以是一个矩阵.R语言中的sort()用于对向量进行排序.降序命令选项可用以改变排序的方向(升序或降序).在处理像ArtPiece.csv这样的数据框时,用order命令对数据进行排序,可以设置多个变量是升序还是降序.如要执行降序,可以在一个变量名前加一个负号.下面利用一个数据集来阐释R语言中的排序概念,代码如下: ArtPiece数据集里有16个变量:10个数值变量和6个分类变量.

《R语言数据挖掘:实用项目解析》——导读

前 言 随着数据规模和种类的增长,应用数据挖掘技术从大数据中提取有效信息变得至关重要.这是因为企业认为有必要从大规模数据的实施中获得相应的投资回报.实施数据挖掘的根本性原因是要从大型数据库中发现隐藏的商机,以便利益相关者能针对未来业务做出决策.数据挖掘不仅能够帮助企业降低成本以及提高收益,还能帮助他们发现新的发展途径. 本书将介绍使用R语言(一种开源工具)进行数据挖掘的基本原理.R是一门免费的程序语言,同时也是一个提供统计计算.图形数据可视化和预测建模的软件环境,并且可以与其他工具和平台相集成.

《R语言游戏数据分析与挖掘》一2.2 数据对象

2.2 数据对象 R拥有许多用于存储数据的对象类型,包括向量.矩阵.数组.数据框和列表.它们在存储数据的类型.创建方式.结构复杂度,以及用于定位和访问其中个别元素的标记等方面均有所不同.多样化的数据对象赋予了R灵活处理数据的能力. R中有许多数据类型用来存储各种各样的数据,包括数值型(numeric).逻辑型(logical).日期型(date).字符型(character).复数型(complex).原味型(二进制形式保存数据raw).此外,也可能是缺省值(NA)和空值(NULL).其中最经常

R语言数据挖掘

数据分析与决策技术丛书 R语言数据挖掘 Learning Data Mining with R [哈萨克斯坦]贝特·麦克哈贝尔(Bater Makhabel) 著 李洪成 许金炜 段力辉 译 图书在版编目(CIP)数据 R语言数据挖掘 / (哈)贝特·麦克哈贝尔(Bater Makhabel)著:李洪成,许金炜,段力辉译. -北京:机械工业出版社,2016.9 (数据分析与决策技术丛书) 书名原文:Learning Data Mining with R ISBN 978-7-111-54769-

《R语言数据挖掘》----第2章 频繁模式、关联规则和相关规则挖掘 2.1关联规则和关联模式概述

本节书摘来自华章出版社<R语言数据挖掘>一书中的第2章,第2.1节,作者[哈萨克斯坦]贝特·麦克哈贝尔(Bater Makhabel),李洪成 许金炜 段力辉 译,更多章节内容可以访问"华章计算机"公众号查看. 第2章 频繁模式.关联规则和相关规则挖掘 本章中,我们将首先学习如何用R语言挖掘频繁模式.关联规则及相关规则.然后,我们将使用基准数据评估所有这些方法以便确定频繁模式和规则的兴趣度.本章内容主要涵盖以下几个主题: 关联规则和关联模式概述 购物篮分析 混合关联规则挖掘

《R语言数据挖掘》——2.2 购物篮分析

本节书摘来自华章出版社<R语言数据挖掘>一书中的第2章,第2.2节,作者[哈萨克斯坦]贝特·麦克哈贝尔(Bater Makhabel),李洪成 许金炜 段力辉 译,更多章节内容可以访问"华章计算机"公众号查看. 2.2 购物篮分析 购物篮分析(Market basket analysis)是用来挖掘消费者已购买的或保存在购物车中物品组合规律的方法.这个概念适用于不同的应用,特别是商店运营.源数据集是一个巨大的数据记录,购物篮分析的目的发现源数据集中不同项之间的关联关系. 2

《R语言数据挖掘》----1.3 数据挖掘

本节书摘来自华章出版社<R语言数据挖掘>一书中的第1章,第1.3节,作者[哈萨克斯坦]贝特·麦克哈贝尔(Bater Makhabel),李洪成 许金炜 段力辉 译,更多章节内容可以访问"华章计算机"公众号查看. 1.3 数据挖掘 数据挖掘就是在数据中发现一个模型,它也称为探索性数据分析,即从数据中发现有用的.有效的.意想不到的且可以理解的知识.有些目标与其他科学,如统计学.人工智能.机器学习和模式识别是相同的.在大多数情况下,数据挖掘通常被视为一个算法问题.聚类.分类.关联

《R语言数据挖掘》----1.6 网络数据挖掘

本节书摘来自华章出版社<R语言数据挖掘>一书中的第1章,第1.6节,作者[哈萨克斯坦]贝特·麦克哈贝尔(Bater Makhabel),李洪成 许金炜 段力辉 译,更多章节内容可以访问"华章计算机"公众号查看. 1.6 网络数据挖掘 网络挖掘的目的是从网络超链接结构.网页和使用数据来发现有用的信息或知识.网络是作为数据挖掘应用输入的最大数据源之一. 网络数据挖掘基于信息检索.机器学习(Machine Learning,ML).统计学.模式识别和数据挖掘.尽管很多数据挖掘方法

《R语言数据挖掘》----1.9 机器学习

本节书摘来自华章出版社<R语言数据挖掘>一书中的第1章,第1.9节,作者[哈萨克斯坦]贝特·麦克哈贝尔(Bater Makhabel),李洪成 许金炜 段力辉 译,更多章节内容可以访问"华章计算机"公众号查看. 1.9 机器学习 应用于机器学习算法的数据集称为训练集,它由一组成对的数据(x, y)构成,称为训练样本.成对的数据解释如下: x:这是一个值向量,通常称为特征向量.每个值或者特征,要么是分类变量(这些值来自一组离散值,比如{S, M, L}),要么是数值型. y: