dplyr 选择每个类别的前 10 个值

san*_*nna 4 r dplyr

我正在尝试过滤包含 n 个类别的 n 行的数据框。我希望每个类别dimension值按另一列排序revenues,然后dimension选择每个类别的前 10 个值并删除其余的值。

我尝试了以下代码片段,但它似乎没有达到我想要的效果:

data <-  tbl_df(data) %>%
  arrange(revenues) %>%
  group_by(dimension) %>%
  top_n(10)
Run Code Online (Sandbox Code Playgroud)

Jac*_*kes 8

data <-  tbl_df(data) %>%
  group_by(dimension) %>%
  arrange(revenues, .by_group = TRUE) %>%
  top_n(10)
Run Code Online (Sandbox Code Playgroud)