【发布时间】:2020-08-24 20:36:15
【问题描述】:
我正在尝试获取按字母顺序排列的每个组的前 2 个名称。我认为top_n() 在我执行 group_by 后会选择这个。然而,情况似乎并非如此。这段代码说明了问题。
df <- data.frame(Group = c(0, 0, 0, 1, 1, 1),
Name = c("a", "c", "b", "e", "d", "f"))
df <- df %>%
arrange(Name, Group) %>%
group_by(Group) %>%
top_n(2)
df
# A tibble: 2 x 2
# Groups: Group [1]
Group Name
<dbl> <chr>
1 1 e
2 1 f
预期的输出是:
df <- df %>%
arrange(Name, Group) %>%
group_by(Group) %>%
top_n(2)
df
Group Name
1 0 a
2 0 b
3 1 d
4 1 e
或类似的东西。谢谢。
【问题讨论】: