【发布时间】:2020-03-21 19:20:13
【问题描述】:
有时需要一个完整的数据框,其中包含对所有分组因素组合的观察结果,即使原始数据中不存在这些因素(即通过用 NA 数据填补这些空白)。
考虑以下带有mtcars 的示例:
mtcars %>% group_by(cyl, gear) %>% dplyr::summarise(N = n())
# A tibble: 8 x 3
# Groups: cyl [3]
cyl gear N
<dbl> <dbl> <int>
1 4 3 1
2 4 4 8
3 4 5 2
4 6 3 2
5 6 4 4
6 6 5 1
7 8 3 12
8 8 5 2
当按cyl 和gear 分组时,cyl=8 和gear=4 的观测值缺失。是否有可能以一种简单的、希望基于 tidyverse 的方式获得这个汇总表,其中包括一行对缺失的因素组合进行 NA 观察的行?例如。期望的输出是:
# A tibble: 9 x 3
# Groups: cyl [3]
cyl gear N
<dbl> <dbl> <int>
1 4 3 1
2 4 4 8
3 4 5 2
4 6 3 2
5 6 4 4
6 6 5 1
7 8 3 12
8 8 4 NA
9 8 5 2
【问题讨论】: