zl程序教程

您现在的位置是:首页 >  其他

当前栏目

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

语言数据 实现 过滤 科学 3.6
2023-09-11 14:19:16 时间

本节书摘来自华章计算机《数据科学:R语言实现》一书中的第3章,第3.6节,作者 丘祐玮(David Chiu),更多章节内容可以访问云栖社区“华章计算机”公众号查看。

3.6 过滤数据

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

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

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

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

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

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

image
image

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

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

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

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

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

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

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

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

在本教程中,我们介绍了如何使用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:
image

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


9月20日云栖精选夜读 | 如何轻松搞定数据科学面试:Python&R语言篇 对于数据科学家来说,工作的一大部分都需要在交互式编程环境中对数据进行处理、分析和可视化。 在过去几年,R语言和Python成了进行数据科学中最炙手可热的两种语言。这两种语言各有优缺点,掌握这两种语言大有益处,但是针对面试者而言,最好的方式是学习其中一种并熟练掌握。
这是R数据科学的读书笔记之一,《R数据科学》是一本教你如何用R语言进行数据分析的书。即便我使用R语言快2年多了,但是读这本书还是受益颇多。
这是R数据科学的读书笔记之一,《R数据科学》是一本教你如何用R语言进行数据分析的书。即便我使用R语言快2年多了,但是读这本书还是受益颇多。
Python赶超R语言,成为数据科学、机器学习平台中最热门的语言? 近日,kdnuggets做了一个关于数据科学、机器学习语言使用情况的问卷调查,他们分析了954个回答,得出结论——Python已经打败R语言,成为分析、数据科学和机器学习平台中使用频率最高的语言。