《数据科学:R语言实现》——3.6 过滤数据

3.6 过滤数据

数据过滤对于希望分析部分数据而不是全部数据集的读者来说是最常见的需求。在数据库操作中,我们可以使用带有where语句的SQL命令获取数据子集。在R中,我们也可以使用方括号来执行过滤操作。

准备工作

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

实现步骤

执行下列步骤,过滤数据。

1.首先,使用head和tail获取employees数据集的前3行和最后3行:

2.你也可以使用方括号并给定从1到3的序列获取数据的前3行:

3.你还可以指定要选取的列序号:


4.除了从数据集中抽取行、列序列,你也可以指定具体的行和列,通过索引向量抽取数据子集:

5.如果你知道列的名字,也可以使用给定的名称向量选取列:

6.另外,你可以使用反向索引排除一些列:

7.你也可以使用in和!操作符排除一些属性:

8.你还可以设置等号条件获取数据子集:

9.你还可以使用比较操作符获取数据子集:

10.另外,函数substr也可以抽取部分数据记录:

11.正则表达式是另一种获取数据子集的有用而强大的工具:

运行原理

在本教程中,我们介绍了如何使用R来过滤数据。在第1步中,我们使用函数head和tail查看前几行和后几行。函数head和tail会默认返回数据集的前6行和后6行数据。我们依然可以在函数的第2个输入参数中指定返回记录的行数。

除了使用函数head和tail,我们也可以使用方括号来获取数据子集。使用方括号时,逗号左边的值表示要抽取的行,逗号右边的值表示要抽取的列。在第2步中,我们介绍了可以通过在逗号左边给出从1到3的序列抽取数据集的前3行。如果我们不在逗号右边指定任何值,这意味着我们会抽取数据集的所有变量。或者,我们也可以在逗号右边指定相关列。 与第3步类似,我们可以通过在逗号右边给定序列,选取第2列到第4列的数据,或者使用给定的索引向量c(3,5)选取相关列。而且,我们还可以使用给定的属性名称向量c("first_name","last_name")选取相关列。

除了选择所需的变量,我们可以使用反向索引排除不需要的列。所以,我们可以在逗号右边放置-6来排除数据集的第6列。我们也可以使用in和!操作符排除某些列名下的数据。在第7步中,我们可以排除first_name和last_name属性下的数据。

而且,我们可以使用给定的条件来过滤数据,类似于SQL。这里,由于需要使用条件来过滤数据记录,我们应该在逗号左边放置过滤标准。所以,在第8~10步中,我们介绍了可以使用等号条件来过滤男性雇员数据,抽取薪水在60 000~70 000之间的数据,并使用函数substr获得前两个字母为Ge的雇员。最后,我们也可以使用函数grep和正则表达式,通过判断名称末尾是否为元音字母,获得雇员数据子集。

更多技能

除了使用方括号,我们也可以使用函数subset来获取数据子集。

1.我们可以选取雇员数据前3行的first_name和last_name:

2.我们也可以设置条件,按照gender过滤数据:

时间: 2025-01-23 22:54:54

《数据科学:R语言实现》——3.6 过滤数据的相关文章

《数据科学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的源

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.13 数据降维

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

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

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

《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 数据变换 数据变换程序将数据变换成可用于挖掘的恰当形式.它

清华大学数据科学研究院与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 总结第