小编mgi*_*nti的帖子

dplyr - 如何过滤具有更多(总和)销售额的前 n 个组?

我在 R 上使用 dplyr 并且我正在尝试过滤包含事务数据的小标题。

我感兴趣的列是“国家”和“销售”。

我有很多国家,出于探索的目的,我只想分析销售额最高的前 5 个国家。

这里的问题是,如果我进行一些分组,它对我不起作用,因为我需要所有行以进行进一步分析(交易数据)。

我试过类似的东西:

trans_merch_df %>% group_by(COUNTRY) %>% top_n(n = 5, wt = NET_SLS_AMT)
Run Code Online (Sandbox Code Playgroud)

但它完全关闭了。

假设我有这个:

trans_merch_df <- tibble::tribble(~COUNTRY, ~SALE,
                                  'POR',     14,
                                  'POR',     1,
                                  'DEU',     4,
                                  'DEU',     6,
                                  'POL',     8,
                                  'ITA',     1,
                                  'ITA',     1,
                                  'ITA',     1,
                                  'SPA',     1,
                                  'NOR',     50,
                                  'NOR',     10,
                                  'SWE',     42,
                                  'SWE',     1)

Run Code Online (Sandbox Code Playgroud)

我期待的结果是:

COUNTRY   SALE
POR       14
POR       1
DEU       4
DEU       6
POL       8
NOR       50
NOR       10
SWE       42
SWE       1
Run Code Online (Sandbox Code Playgroud)

由于 ITA 和 SPA 不在销售额的 TOP …

grouping r filter top-n dplyr

3
推荐指数
1
解决办法
1770
查看次数

标签 统计

dplyr ×1

filter ×1

grouping ×1

r ×1

top-n ×1