给它们一个通用名称 "key"。我们知道这些单元格表示病例数,所以我们使用变量 cases。当前的表示形式中有很多缺失值,所以暂时我们使用 na.rm,以便专注于存在的值:
who1 <- who %>% gather( new_sp_m014:newrel_f65, key = "key", value = "cases", na.rm = TRUE ) who1 #> # A tibble: 76,046 × 6 #> country iso2 iso3 year key cases #> *
我们可以通过计数来初步了解新 key 列中值的结构:
who1 %>% count(key) #> # A tibble: 56 × 2 #> key n #>
稍加思考和一些实验,你或许能自己解析出其中的规律,但幸运的是我们手头有数据字典。它告诉我们:
-
- 每列的前三个字母表示该列包含的是新发还是旧发结核病病例。在这个数据集中,每列都包含新发病例。
-
- 接下来的两个字母描述结核病的类型:
- rel 代表复发病例。