数据:
C J SD
1: H A 1230
2: H B 1000
3: H C 123
4: H D 12345
5: H E 4321
6: P C 234
7: P D 23
8: P E 587
9: P F 543所需产出:
C J SD
1.H D 12345
2.H E 4321
3.H A 1230
4.P E 587
5.P F 543
6.P C 234我试过了;
data %>% arrange(desc(`SD`)) %>% group_by( `C` ,`J`) %>% top_n(3)但没有得到想要的输出。
否则我就哪里都不对劲了。
发布于 2021-08-19 05:37:34
仅按C值分组
library(dplyr)
data %>% group_by(C) %>% top_n(3, SD)此外,top_n现在被slice_max/slice_min取代,它可以用作-
data %>%
group_by(C) %>%
slice_max(SD, n = 3) %>%
ungroup()发布于 2021-08-19 05:38:26
得到你想要的。
Df <- Df %>%arrange(desc(SD))%>%arrange(C) %>%group_by(C) %>% top_n(3)
https://stackoverflow.com/questions/68842468
复制相似问题