《数据科学:R语言实现》——3.5 添加新的记录

简介:

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

3.5 添加新的记录

熟悉数据库的读者,可能已经知道如何执行insert操作,给数据集添加一条新的记录。你也可以使用alter操作给表添加新的一列(属性)。在R中,你也可以执行insert和alter操作,但是要简单得多。我们会在本教程中介绍函数rbind和cbind,以便可以简单地使用R给当前数据集添加新的记录或者新的属性。

准备工作

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

实现步骤

执行下列步骤,给数据集添加新的记录或者新的属性。

1.首先,使用rbind给employees添加新的记录:
image

2.我们可以把新的结果重新分配给数据框employees:
.image

3.除了给原始数据集添加新的记录,我们也可以使用NA默认值添加新的position属性:
image

4.并且,我们可以根据当前日期和每一个雇员的birth_date添加新的age属性:
image

5.我们也可以使用函数transform添加多个变量:
image

运行原理

和数据库操作类似,我们可以根据数据集的样式(属性个数和每个属性的数据类型)给数据框添加新的记录。这里,我们首先介绍了如何使用函数rbind给数据框添加新的记录。由于雇员数据集有6列,我们可以使用函数rbind给数据集添加含有6个值的记录。在第一列中,emp_no是整型,所以我们不需要把输入值放在单引号中。对于属性first_name和last_name,因为已经把它们的类型转换成字符类型,所以我们可以自由地输入任何字符串作为一个值。对于最后一个gender属性,它是因子类型的,我们只能输入M或F作为值。

除了给目标数据集添加新的记录,我们还可以使用函数cbind添加新的变量。要达到这个目的,我们可以在调用cbind的时候给变量指定一个默认值。这里我们使用NA作为新的position属性的默认值 。我们也可以把其他列的计算结果拿来作为新的变量。在这个过程中,我们首先利用当前日期和和雇员的生日计算每个雇员的年龄。然后,我们使用美元符号把计算结果指定给新的变量age。除了使用美元符号指定新的变量,我们也可以使用函数transform,为employees数据集创建age、position和marital变量。

更多技能

除了使用美元符号和函数transform,我们也可以使用函数with创建新的变量:
image

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