返回具有匹配条件的组

时间:2016-02-26 08:38:41

标签: r dplyr

嗨,我正在尝试过滤条件并想要提取它的组。

这样的东西
V <- rnorm(30)
gr = rep(seq(1,3),each=10)
df <- data.frame(V,gr)

min_num <- df%>%
  group_by(gr)%>%
  filter(rank(V,ties.method="min")==1)

返回此

     V    gr
      (dbl) (int)
1 -1.134910     1
2 -1.598005     2
3 -1.317898     3

当我做的时候

  filter(V==min(V))

也会返回相同的结果。如何获得显示最小V值的组。组号很重要。在这种情况下,代码应该只返回第二组。

1 个答案:

答案 0 :(得分:1)

您必须提前ungruoup(如果不是,则每组返回最小值):

min_num %>% 
    ungroup() %>% 
    filter(V==min(V))