←
PDF 187 / 520 Missing Values
→
English · PDF 187
Original PDF page 187
中文 · PDF 187
    1. 比较和对比 separate() 与 extract()。为什么分离有三种变体(按位置、按分隔符和按组),而合并只有一种?

缺失值

改变数据集的表示方式会引出缺失值的一个重要细节。令人惊讶的是,值可以以两种可能的方式缺失:

  • 显式缺失,即用 NA 标记。
  • 隐式缺失,即数据中根本不存在。

让我们用一个非常简单的数据集来说明这个概念:

stocks <- tibble( year = c(2015, 2015, 2015, 2015, 2016, 2016, 2016), qtr = c( 1, 2, 3, 4, 2, 3, 4), return = c(1.88, 0.59, 0.35, NA, 0.92, 0.17, 2.66) )

这个数据集中有两个缺失值:

  • 2015 年第四季度的收益是显式缺失的,因为本应存放其值的单元格中包含的是 NA。
  • 2016 年第一季度的收益是隐式缺失的,因为它根本没有出现在数据集中。

理解这种区别的一种方式是借助这个禅宗式的公案:显式缺失值是“缺席的存在”;隐式缺失值是“存在的缺席”。

数据集的表示方式可以使隐式值变为显式值。例如,我们可以把年份放到列中,使隐式缺失值变为显式的:

stocks %>% spread(year, return) #> # A tibble: 4 × 3 #> qtr 2015 2016 #> * #> 1 1 1.88 NA #> 2 2 0.59 0.92 #> 3 3 0.35 0.17 #> 4 4 NA 2.66