在 R 中使用 dplyr 查找每组的最大值

flo*_*tas 4 r dplyr

我正在尝试寻找夏季月份航班价值最高的航空公司

max_flights_all_c<-nycflights13::flights %>%
   group_by(carrier,month)%>%
   filter(month==6 | month==7 | month==8 | month==9)%>%
    summarise(n=n()) 
Run Code Online (Sandbox Code Playgroud)

现在我得到了;

carrier month   n
9E  7   1494
9E  8   1456
9E  9   1540
AA  6   2757
AA  7   2882
AA  8   2856
AA  9   2614
AS  6   60
AS  7   62
AS  8   62
AS  9   60
B6  6   4622
B6  7   4984
Run Code Online (Sandbox Code Playgroud)

但只想获取每个月的 n 的最大值。

akr*_*run 5

在这summarise一步之后,我们按“月”分组并使用 获取max“n”行slice

max_flights_all_c <- nycflights13::flights %>%
                          group_by(carrier,month)%>%
                          filter(month %in% 6:9) %>%
                          summarise(n = n()) %>%
                          group_by(month) %>%
                          slice(which.max(n))
Run Code Online (Sandbox Code Playgroud)