English · PDF 194
我之前是一段一段地给你展示代码的,把每个中间结果赋值给一个新变量。这通常不是你交互式工作时的做法。相反,你会逐步构建一个复杂的管道:
who %>% gather(code, value, new_sp_m014:newrel_f65, na.rm = TRUE) %>% mutate( code = stringr::str_replace(code, "newrel", "new_rel") ) %>% separate(code, c("new", "var", "sexage")) %>% select(-new, -iso2, -iso3) %>% separate(sexage, c("sex", "age"), sep = 1)
在继续讨论其他主题之前,值得简要谈谈非整洁数据。在本章前面,我用带有贬义的“混乱”一词来指代非整洁数据。这是一种过于简化的说法:有许多有用且有充分依据的数据结构并不是整洁数据。使用其他数据结构主要有两个原因: