R dplyr:按组过滤数据并保留空组

问题描述 投票:0回答:1

我想知道如何按组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) 
r dplyr
1个回答
0
投票

加上 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
© www.soinside.com 2019 - 2024. All rights reserved.