【发布时间】:2020-05-09 02:01:03
【问题描述】:
我正在尝试压缩一个分组的 df,只提取包含某个值的行,但该值并未反映在所有组中。我想找到一种方法来提取具有该值的所有行,但也为不包含该值的组创建 NA 或 0 行。
例如:
x1 <- c('1','1','1','1','1','2','2','2','2','2','3','3','3','3','3')
x2 <- c('a','b','c','d','e','b','c','d','e','f','a','b','d','e','f')
df <- data.frame(x1,x2)
df %>% group_by(x1) %>%
filter(x2 =="a")
返回:
x1 x2
<fct> <fct>
1 1 a
2 3 a
但我希望它返回:
x1 x2
<fct> <fct>
1 1 a
2 2 NA
3 3 a
显然真正的代码要复杂得多,所以我正在寻找以可重现的方式保留这些空组的最佳方法。
PS - 我想留在 dplyr 以保持函数链的顺畅
谢谢!
【问题讨论】: