我想知道如何按组filter
我的数据,并且保留空的组?
示例:
year = c(1,2,3,1,2,3,1,2,3)
site = rep(c("a", "b", "d"), each = 3)
value = c(3,3,0,1,8,5,10,18,27)
df <- data.frame(year, site, value)
我想对value
大于5的行进行子集化。对于某些组,这永远都是不正确的。 Filter
功能仅跳过空白组。
我如何保留我的空组而没有NA?理想情况下,我想使用Filter
功能代替dplyr
R。
我的过滤方法,其中base
不保留空组:
.preserve
预期输出:
df %>%
group_by(site) %>%
filter(value > 5, .preserve = TRUE)
加上 year site value
<dbl> <fct> <dbl>
1 NA a NA
2 2 b 8
3 1 d 10
4 2 d 18
5 3 d 27
,您可以执行:
tidyr