我有一个DF如下,组由ID和过滤器只有组具有最大平均
a <- data.frame(group =c(1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5), count = c(12L, 80L, 102L, 97L, 118L, 115L, 4L, 13L, 136L,114L, 134L, 126L, 128L, 63L, 118L, 1L, 28L, 18L, 18L, 23L))
group count
1 1 12
2 1 80
3 1 102
4 1 97
5 2 118
6 2 115
7 2 4
8 2 13
9 3 136
10 3 114
11 3 134
12 3 126
13 4 128
14 4 63
15 4 118
16 4 1
17 5 28
18 5 18
19 5 18
20 5 23
我使用了下面的命令,
a %>% group_by(group) %>% summarise(mean(count))
group mean(count)
(dbl) (dbl)
1 1 72.75
2 2 62.50
3 3 127.50
4 4 77.50
5 5 21.75
我想筛选出的条目属于最高平均值的组。这里说的第三组包含的最大平均,所以我的输出应该是,
group count
1 3 136
2 3 114
3 3 134
4 3 126
任何人都可以给一些想法如何做到这一点?
已经有很多的选择。尽管你现有的方法,你只需要添加'%>%slice(which.max(mc))%>%semi_join(a,。,“group”)' –