2

抱歉,如果这是重复的,请告诉我,我很乐意删除。

我正在尝试为另一列的不同值选择四个最高值。

数据集:

   A   B   COUNT
1  1   2     2
2  1   3     6
3  1   4     3
4  1   5     9
5  1   6     2
6  1   7     7
7  1   8     0
8  1   9     5
9  1   10    2
10 1   11    7
11 2   1     5
12 2   3     1
13 2   4     8
14 2   5     9
15 2   6     5
16 2   7     2
17 2   8     2
18 2   9     4
19 3   1     7
20 3   2     5
21 3   4     2
22 3   5     8
23 3   6     6
24 3   7     1
25 3   8     9
26 3   9     5
27 4   1     8
28 4   2     1
29 4   3     1
30 4   5     3
31 4   6     9

例如,我想在 A=1 (9,7,7,6) 时选择四个最高计数,然后在 A=2 (9,8,5,5) 时选择四个最高计数,依此类推...

我还希望每个计数旁边都有相应的 B 列值,所以当 A=1 时,我想要的输出类似于:

B   A   Count
5   1     9
7   1     7
11  1     7
3   1     6

我查看了有关“选择最高值”的各种答案,但一直在努力寻找其他列的示例条件。

非常感谢

4

2 回答 2

2

我们可以做的

df1 %>%
     group_by(A) %>% 
     arrange(desc(COUNT)) %>%
     filter(row_number() <5)
于 2017-08-02T08:03:41.800 回答
2
library(dplyr)
data %>% group_by(A) %>% 
  arrange(A, desc(COUNT)) %>% 
  slice(1:4)
于 2017-08-02T08:06:28.757 回答