作者:Anna Kayfitz,CEO of StrategicDB Corp
翻译:顾宇华
校对:杨光
本文约1700字,建议阅读5分钟。
确保数据干净整洁应该始终是数据科学工作流程中首要也是最重要的部分。
数据清理是数据科学家最重要和最耗时的任务之一。以下是用于数据清理的顶级R包。
每天有数百万或数十亿的数据元素进入您的企业,其中不可避免的存在一些缺乏建立高效业务模型的必要质量的数据元素。然而,确保数据干净整洁应该始终是数据科学工作流程中首要也是最重要的部分。因为没有它,您将很难看到重要的内容,并可能由于数据重复,数据异常或缺少信息等原因做出错误的决策。
R,作为一种能够应用于统计计算和图形的开源语言,是最常用和最强大的数据编程工具之一。R提供了创建数据科学项目所需的所有工具,但是不管利用任何一种工具,它只能做到提供它接受到的数据相等同的信息。但是拥有了这些工具,R环境中有许多库可以在任何项目开始之前进行数据处理和操作。
探索数据
大多数您已经导入的用于探索数据系列的工具已存在于R平台中。
摘要(数据)
这个方便的命令只是概述了所有数据属性,显示了每个属性的最小值,最大值,中值,平均值和类别拆分。这是一种快速发现任何潜在数据异常的好方法。
接下来,您可以使用直方图来更好地理解数据的分布。这将可视化显示数据集或您特别希望观察的任何数字列中的任何异常值。
plyr包
您需要安装plyr软件包以创建直方图,使用标准R功能来安装库。
Install.packages(“plyr”)Library(plyr)Hist(YOUR_DATASET_NAME)
这能够创建数据的可视化,以快速发现任何异常。箱形图可视化使用相同的包,但分成四分位数以进行离群检测。这两个组合将很快告诉您是否需要限制数据集或仅在任何算法或统计建模中使用它的某些部分。
纠正错误
R有许多预先构建的方法来纠正数据错误,例如转换值,就像在Excel或SQL中那样,使用简单的逻辑,例如as.charater()将列转换为字符串。
但是,如果要开始更正在直方图或箱形图中看到的错误,则可以选择其他软件包执行此操作。
stringr包
stringr可以通过几种不同的方式帮助清理数据,包括修剪空格和替换某些不必要的单词。这些是非常标准的代码,结构为str_trim(YOUR_DATA_FIELD),它只是删除了空格。
但是,如何消除我们直方图告诉我们的异常?它需要比这更复杂,但作为一个基本的例子,我们可以告诉R用该字段的中值替换我们字段中的所有异常值。这将把所有东西都放在一起并消除异常偏见。
缺少值
在R中检查不完整的数据并对该字段执行和操作非常简单。例如,此函数将完全消除所选数据列中缺少的值。
Na.omit(YOUR_DATA_COLUMN)
有类似的选项可以用0或N / A替换空白值,具体取决于字段类型,并提高数据集的一致性。
tidyr包
tidyr包旨在整理您的数据。它的工作原理是识别数据集中的变量,并使用提供的工具将它们移动到具有三个主要功能的列或gather(),separate()和spread()。
gather()函数采用多列并将它们收集到键值对中。举个例子,假设您有考试成绩数据。
名称 | 考试A | 考试B |
---|---|---|
约翰 | 55 | 80 |
麦克 | 76 | 90 |
山姆 | 45 | 75 |
gather收集功能通过将其转换为可用的列来完成。
名称 | 考试 | 成绩 |
---|---|---|
约翰 | A | 55 |
麦克 | A | 76 |
山姆 | A | 45 |
约翰 | B | 80 |
麦克 | B | 90 |
山姆 | B | 75 |
现在我们真的能够分析考试成绩。单独和传播函数做类似的事情,一旦你有了包,你可以探索,但最终根据需要你的数据。
这里有一些其他的注释包可能对R中的数据清理有用:
- Purr包
purr包专为数据整理而设计。它与plyr包非常相似,虽然年龄较大,但有些用户只是觉得它的使用更容易,功能也更标准化。
- sqldf包
很多R用户更习惯用SQL语言而不是R编码。这个函数允许你在R studio中编写SQL代码来选择你的数据元素
- Janitor包
该软件包能够通过多个列查找重复项,并轻松地从您的数据框中创建友好列。它甚至还有一个get_dupes()函数,用于在多行数据中查找重复值。如果您希望以更高级的方式重复数据删除,例如,查找不同的组合或使用模糊逻辑,您可能需要查看重复数据删除工具。
- splitstackshape包
这是一个较旧的包,可以使用数据框列中的逗号分隔值。用于调查或文本分析准备。
R拥有大量的软件包,本文只是触及了它可以做的事情的表面。随着新的库一直涌现,在开始任何新项目之前进行研究并获得正确的库是非常重要的。
学习资源:
- 在线和基于网络:分析,数据挖掘,数据科学,机器学习教育 https://www.kdnuggets.com/education/online.html
- 分析,数据科学,数据挖掘和机器学习软件 https://www.kdnuggets.com/software/index.html
相关文章:
- 不要在真空中进行分析 https://www.kdnuggets.com/2019/02/mode-dont-do-analysis-vacuum.html
- 在Jupyter中运行R和Python https://www.kdnuggets.com/2019/02/running-r-and-python-in-jupyter.html
- 2018年数据科学和人工智能的前七大R套餐 https://www.kdnuggets.com/2019/01/vazquez-2018-top-7-r-packages.html
作者简介:
Anna Kayfitz,StrategicDB Corp首席执行官,该公司是一家数据清理和分析公司。她拥有Schulich商学院的MBA学位,在创建StrategicDB之前,他在数据分析和市场营销方面工作了10多年。
原文标题:
Top R Packages for Data Cleaning
原文链接:
https://www.kdnuggets.com/2019/03/top-r-packages-data-cleaning.html
译者简介
顾宇华,帝国理工与IE商学院毕业生,现为SxGroup咨询实习生。热情活泼,积极乐观,对数据科学充满热情。
翻译组招募信息
工作内容:需要一颗细致的心,将选取好的外文文章翻译成流畅的中文。如果你是数据科学/统计学/计算机类的留学生,或在海外从事相关工作,或对自己外语水平有信心的朋友欢迎加入翻译小组。
你能得到:定期的翻译培训提高志愿者的翻译水平,提高对于数据科学前沿的认知,海外的朋友可以和国内技术应用发展保持联系,THU数据派产学研的背景为志愿者带来好的发展机遇。
其他福利:来自于名企的数据科学工作者,北大清华以及海外等名校学生他们都将成为你在翻译小组的伙伴。