假设我有一个像这样的数据框:
df <- data.frame(A = c(5, 5, 6, 6, 5), B = c(5, 5, 9, 9, 5), C = c(4, 1, 9, 1, 1))
A B C
5 5 4
5 5 1
6 9 9
6 9 1
5 5 1
如果数据框中的行在B列中具有相同的编号,那么我只想保留在C列中具有最高值的行。
因此,根据我的情况,我希望得到如下过滤的数据帧:
A B C
5 5 4
6 9 9
非常感谢!
这是一个dplyr
解决方案:
library(dplyr)
df %>%
group_by(A, B) %>%
filter(C == max(C))
# A tibble: 2 x 3
# Groups: A, B [2]
A B C
<dbl> <dbl> <dbl>
1 5 5 4
2 6 9 9
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句