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

简介:

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

3.10 重塑数据

重塑数据类似于创建列联表,它允许用户聚合特定值下的数据。reshape2程序包就是用来完成这个任务的。这里,我们会介绍如何使用reshape2程序包,借助函数dcast把长数据转换成宽数据。我们也会介绍如何使用函数melt把宽数据转换回长数据。
准备工作
按照3.8节“合并数据”教程,把employees和salaries融合为employees_salary。
screenshot

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

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

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

运行原理
在本教程中,我们展示了如何使用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按值分组数据:
screenshot
screenshot

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

相关文章
|
2天前
|
数据可视化
【视频】R语言生存分析原理与晚期肺癌患者分析案例|数据分享-4
【视频】R语言生存分析原理与晚期肺癌患者分析案例|数据分享
33 1
|
2天前
|
vr&ar
R语言单变量和多变量(多元)动态条件相关系数DCC-GARCH模型分析股票收益率金融时间序列数据波动率-1
R语言单变量和多变量(多元)动态条件相关系数DCC-GARCH模型分析股票收益率金融时间序列数据波动率
25 0
|
14小时前
|
机器学习/深度学习 算法
【视频】R语言逻辑回归(Logistic回归)模型分类预测病人冠心病风险|数据分享
【视频】R语言逻辑回归(Logistic回归)模型分类预测病人冠心病风险|数据分享
13 6
|
1天前
|
机器学习/深度学习 数据挖掘 数据建模
R语言用lme4多层次(混合效应)广义线性模型(GLM),逻辑回归分析教育留级调查数据(下)
R语言用lme4多层次(混合效应)广义线性模型(GLM),逻辑回归分析教育留级调查数据
37 9
|
1天前
|
机器学习/深度学习 数据可视化
数据分享|R语言逻辑回归Logisitc逐步回归训练与验证样本估计分析心脏病数据参数可视化
数据分享|R语言逻辑回归Logisitc逐步回归训练与验证样本估计分析心脏病数据参数可视化
33 18
|
1天前
|
机器学习/深度学习 数据可视化 算法
数据分享|R语言决策树和随机森林分类电信公司用户流失churn数据和参数调优、ROC曲线可视化
数据分享|R语言决策树和随机森林分类电信公司用户流失churn数据和参数调优、ROC曲线可视化
46 10
|
1天前
|
数据可视化 安全 数据挖掘
数据分享|R语言用主成分分析(PCA)PCR回归进行预测汽车购买信息可视化
数据分享|R语言用主成分分析(PCA)PCR回归进行预测汽车购买信息可视化
|
1天前
|
vr&ar Python
R语言风险价值:ARIMA,GARCH,Delta-normal法滚动估计VaR(Value at Risk)和回测分析股票数据
R语言风险价值:ARIMA,GARCH,Delta-normal法滚动估计VaR(Value at Risk)和回测分析股票数据
|
2天前
R语言风险价值:ARIMA,GARCH,Delta-normal法滚动估计VaR(Value at Risk)和回测分析股票数据-3
R语言风险价值:ARIMA,GARCH,Delta-normal法滚动估计VaR(Value at Risk)和回测分析股票数据
14 1
R语言风险价值:ARIMA,GARCH,Delta-normal法滚动估计VaR(Value at Risk)和回测分析股票数据-3
|
2天前
【视频】R语言生存分析原理与晚期肺癌患者分析案例|数据分享-2
【视频】R语言生存分析原理与晚期肺癌患者分析案例|数据分享
13 1

热门文章

最新文章