《数据科学:R语言实现》——3.10 重塑数据

简介:

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

3.10 重塑数据

重塑数据类似于创建列联表,它允许用户聚合特定值下的数据。reshape2程序包就是用来完成这个任务的。这里,我们会介绍如何使用reshape2程序包,借助函数dcast把长数据转换成宽数据。我们也会介绍如何使用函数melt把宽数据转换回长数据。

准备工作

按照3.8节“合并数据”教程,把employees和salaries融合为employees_salary。

实现步骤

执行下列步骤,重塑数据。

1.首先,我们可以使用函数dcast把长数据转换成宽数据:
image

2.我们也可以通过保留emp_no和格式化的名称字符串作为两个属性,来转换数据。然后我们可以设置薪水支付的年份作为列名,薪水作为它的值:
image

3.另外,我们可以使用函数melt把宽数据转换回长数据:
image

4.为了移除long_salaries中带有缺失值的数据,我们可以使用na.omit移除这些数据:
image

运行原理

在本教程中,我们展示了如何使用reshape2程序包重塑数据。首先,我们使用函数dcast把长数据转换为宽数据。使用这个函数时,我们指定了salaries作为转换时的第一个参数。然后,我们又设定emp_no作为行,薪水年份作为列,给定重塑函数。最后,我们设置salary作为宽数据中的值。

我们也可以使用多个列来重塑数据。我们只需通过+操作符,在公式的左边添加另一个列的信息。因此,在第2步中,我们设置employees_salary数据上的重塑公式形式为emp_no + paste(first_name,last_name) ~ year(ymd(from_date))。然后,我们看到输出数据的左边部分是emp_no和格式化的名称,薪水支付年份在右边部分,薪水作为值。

除了把长数据重塑为宽数据,我们也可以使用函数melt把宽数据转变回长数据。因此,我们可以使用emp_no作为基础,把wide_salaries重塑为长数据。由于我们有许多缺失值(表示为NA),可以使用na.omit移除这些数据。

更多技能

除了plyr程序包中的dcast和melt函数,我们还可以使用stack和unstack来分组数据和取消分组。

1.我们可以使用函数unstack按值分组数据:

image
image

2.相反,我们可以使用函数stack把多个数据框或列表拼接起来:

image

相关文章
|
4天前
|
Web App开发 数据可视化 数据挖掘
利用R语言进行聚类分析实战(数据+代码+可视化+详细分析)
利用R语言进行聚类分析实战(数据+代码+可视化+详细分析)
|
4天前
|
数据采集 数据可视化
利用R语言进行因子分析实战(数据+代码+可视化+详细分析)
利用R语言进行因子分析实战(数据+代码+可视化+详细分析)
|
4天前
|
移动开发 数据可视化
广义线性模型beta二项分布的淋巴结疾病风险预测可视化R语言2实例合集|附数据代码
广义线性模型beta二项分布的淋巴结疾病风险预测可视化R语言2实例合集|附数据代码
|
4天前
|
机器学习/深度学习 人工智能 数据可视化
【视频】R语言支持向量回归SVR预测水位实例讲解|附代码数据
【视频】R语言支持向量回归SVR预测水位实例讲解|附代码数据
|
4天前
|
机器学习/深度学习 数据可视化
R语言Stan贝叶斯回归置信区间后验分布可视化模型检验|附数据代码
R语言Stan贝叶斯回归置信区间后验分布可视化模型检验|附数据代码
|
4天前
|
机器学习/深度学习 数据采集 算法
数据分享|R语言机器学习预测案例合集:众筹平台、机票折扣、糖尿病患者、员工满意度
数据分享|R语言机器学习预测案例合集:众筹平台、机票折扣、糖尿病患者、员工满意度
|
4天前
|
数据可视化 数据挖掘 索引
R语言层次聚类、多维缩放MDS分类RNA测序(RNA-seq)乳腺发育基因数据可视化|附数据代码2
R语言层次聚类、多维缩放MDS分类RNA测序(RNA-seq)乳腺发育基因数据可视化|附数据代码
|
4天前
|
存储 数据可视化 数据挖掘
R语言层次聚类、多维缩放MDS分类RNA测序(RNA-seq)乳腺发育基因数据可视化|附数据代码1
R语言层次聚类、多维缩放MDS分类RNA测序(RNA-seq)乳腺发育基因数据可视化|附数据代码
|
4天前
|
数据可视化
R语言广义线性混合模型GLMMs在生态学中应用可视化2实例合集|附数据代码2
R语言广义线性混合模型GLMMs在生态学中应用可视化2实例合集|附数据代码
|
4天前
|
数据可视化 数据挖掘
R语言广义线性混合模型GLMMs在生态学中应用可视化2实例合集|附数据代码1
R语言广义线性混合模型GLMMs在生态学中应用可视化2实例合集|附数据代码

热门文章

最新文章