←
PDF 178 / 520 Gathering
→
English · PDF 178
Original PDF page 178
中文 · PDF 178
  • 大多数人不熟悉整洁数据的原则,除非你花大量时间处理数据,否则很难自己推导出这些原则。
  • 数据的组织方式往往是为了便于分析以外的某些用途。例如,数据常常被组织成使录入尽可能容易。

这意味着对于大多数实际分析,你都需要做一些整理。第一步始终是弄清楚变量和观测是什么。有时这很容易;其他时候你需要咨询最初生成数据的人。第二步是解决以下两个常见问题之一:

  • 一个变量可能分散在多个列中。
  • 一个观测可能分散在多个行中。

通常一个数据集只会遇到其中一个问题;只有当你真的非常不走运时才会同时遇到两个!要解决这些问题,你需要 tidyr 中最重要的两个函数:gather() 和 spread()。

聚合

一个常见的问题是数据集中某些列名不是变量的名称,而是某个变量的值。以 table4a 为例;列名 1999 和 2000 代表 year 变量的值,每一行代表两个观测,而不是一个:

table4a #> # A tibble: 3 × 3 #> country 1999 2000 #> * #> 1 Afghanistan 745 2666 #> 2 Brazil 37737 80488 #> 3 China 212258 213766

要整理这样的数据集,我们需要把这些列聚合成一对新变量。要描述这个操作,我们需要三个参数:

  • 代表值而非变量的那组列。在这个例子中,就是 1999 和 2000 这两列。