R-在多行中查找对应于一列最大值的行

时间:2019-11-25 06:35:53

标签: r dplyr

具有如下数据,每个area,loc对每天都有几个小时的数据。需要找出每个area,loc的行,其中a的值最大。

day,hour,area,loc,a,b,c
20181231,ar01,loc01,00,99,11.3,18.2
20181231,ar01,loc01,22,96,12.3,15.2
20190101,ar01,loc01,00,98,10.9,22.5
20190101,ar01,loc01,23,97,10.9,22.1
20181231,ar02,loc01,00,93,11.3,18.2
20181231,ar02,loc01,22,96,12.3,15.2
20190101,ar02,loc01,00,97,10.9,22.5
20190101,ar02,loc01,23,97.2,10.9,22.1

预期产量

day,hour,area,loc,a,b,c
20181231,ar01,loc01,00,99,11.3,18.2
20190101,ar01,loc01,00,98,10.9,22.5
20181231,ar02,loc01,22,96,12.3,15.2
20190101,ar02,loc01,23,97.2,10.9,22.1

我可以使用dplyr进行聚合,例如df %>% group_by(day, area, loc)-如何从此处获取结果行?

1 个答案:

答案 0 :(得分:1)

您可以尝试:

library(dplyr)
df %>%
   group_by(day, area, loc) %>%
   filter(., a == max(a))