作者:师爷,R语言中文社区作者,
知乎专栏:
https://zhuanlan.zhihu.com/rstudio
1.简介整洁数据
虽然我们花费了大量的精力来清理数据以便为分析做好准备,但关于如何使数据清理尽可能简单有效的研究很少。本文讨论了数据清理的一个小但重要的组成部分:数据整理。
整洁的数据集易于操作,建模和可视化,并具有特定的结构:
每个变量都是一列
每个观察值都是一行
每种类型的观察单位是一张表格。
这个可以很容易地整理凌乱的数据集,因为处理各种不整洁的数据集可用的工具非常少。 这种结构还可以更容易地开发用于数据分析的整洁工具,这些工具既可以输入整洁数据同时输出整洁的数据集。最后,通过一个常用的数据操作案例研究来证明:统一的数据结构以及对应配套工具的优势。
人们常说,80%的数据分析都花在清洁和准备过程上数据。令人心烦的是:数据准备不是一蹴而就的,而是随着新问题的出现或新数据的出现,在分析过程中多次重复进行。尽管花费了大量的时间,但却很少关于如何清理数据的研究。一个挑战是它包含的范围广泛:从异常检查,到解析的日期,到缺失值的估算。为了解决问题,本文侧重于数据清理的一个小而重要的方面,我称之为数据整理:构建数据集以便分析。
整洁数据的原则提供了在数据集中组织数据值的标准方法。标准使初始数据清理更容易,因为您不需要从头开始并且每次重新发明轮子。整洁的数据标准旨在促进初步探索和分析数据,并简化数据分析的发展协同工作的工具。当前的工具通常需要进行必要的变换。你必须花时间整洁数据从一个数据工具中以便导入另外一个数据中。整洁的数据集和整洁的工具携手合作,使数据分析更容易,让您专注于有趣的领域问题,而不是无关紧要的数据后勤。整洁数据的原则与关系数据库和Codd的关系代数密切相关,用统计学家熟悉的语言构建。计算机科学家也为数据清理研究做出了很多贡献。例如,Lakshmanan,Sadri和Subramanian(1996)定义了SQL的扩展,允许它在凌乱的数据集上运行,Raman和Hellerstein(2001)提供了清理数据集的框架,Kandel,Paepcke,Hellerstein和Heer开发一个具有友好用户界面的交互式工具,自动创建代码来清理数据。不得不承认这些工具很有用,但是它们以非统计学家的语言呈现,它们没有就如何构建数据集提供太多实用建议,并且它们与既有数据分析工具缺乏联系。没办法只能依靠使用实用数据集的经验推动了整洁数据的发展。由于对其组织的限制很少(如果有的话),这些数据集通常以奇怪的方式构建。在这些工作的过程中,reshape和reshape2软件包非常好用。虽然我可以直观地使用这些工具并通过示例进行教学,但我缺乏使我的直觉明确的框架。本文提供了该框架。它提供了全面的“数据哲学”:基于此开发plyr和ggplot两个包。
论文进行如下:
第2节:首先定义了三个特征使数据集整洁。 由于大多数真实世界数据集都不整洁,
第3节:描述了使杂乱的数据集整洁所需的操作,并用范围说明技术真实的例子。
第4节:定义了整洁的工具,输入和输出整洁数据集的工具,并讨论了整洁的数据和整洁的工具如何使数据分析更容易。
第5节:小案例研究说明了原则。
第6节:以