被忽略的重点:data tidying

被忽略的重点:data tidying

张伟棋张伟棋
数据易得,但整洁的数据不。

在做数据分析之前,有很大一部分时间我们都在做数据清理的工作。有经验的数据分析师常说80%的时间会用来清理数据,为分析准备数据。数据清理不仅仅是数据分析的第一步,在实际操作中这一过程将会被重复多次,因为随着探索的深入,你会有更多更新的数据,你会有新的想法,你有新的假设需要验证。尽管花费的时间很多,但在数据清理这方面的研究,论文似乎都并不是很多。

整洁的数据会大大提高数据分析的效率,很多统计工具比如R都需要输入格式标准,结构完好的数据组。毕竟,你需要专注的是数据背后那些有趣的问题,那些潜在的秘密,而不是一大堆没有逻辑的杂数据。

Hadley Wickham,Rstudio的首席科学家,曾开发了许多流行且实用的 R package,包括reshape和大名鼎鼎的ggplot2。在他多年的工作经历里,经常会遇到很多数据清理的问题,在最近他发布的一篇论文Tidy Data中,他阐述了什么是tidy data并且试图解决数据清理中很小,也很重要的一部分,data tidying。

Tidy Data:这里我将tidy data翻译作整洁的数据。整洁的数据通常都很相似,但是杂乱的数据组却各有各的不同。整洁的数据通常包含几个重要的特征,我会尽量少用一些术语来解释这些特征,一方面是翻译有所偏差,另一方面,这些属于本身就不够准确。根据Wickham的定义,整洁的数据包含以下共性:

  • 每个变量构成一列
  • 每次观测构成一行
  • 每种观测单元构成一个表格

常见问题:真是的数据常常不会符合这些基本特征。Wickham描述了几类这样的问题:

  • 列的标题是值,而不是变量名
  • 多个变量在一列中
  • 变量存在于列中,也存在于行间
  • 多种类型的观测在同一张表中

对这几种问题,他都用现实中的例子做了说明,并针对各个问题提出了解决办法。确实是很典型的问题,非常值得一读。所有的代码都可以在hadley/tidy-data 路 GitHub 上找到。

如果你还有兴趣,也可以看看Wickham在这篇论文里用到的参考文献:

【1】The Relational Model for Database Management: Version 2 关于关系型数据库和数据标准化。

【2】Exploratory Data Mining and Data Cleaning 关于数据清理和数据处理实践

【3】Lattice: Multivariate Data Visualization with R (Use R!) 关于Lattice R package和数据制表。

*封面:Map of Scientific Collaborations

文章被以下专栏收录
还没有评论
推荐阅读