根据 Group_by 内其他列的最大值识别行索引号

Identifying Row Index Number on the Bases of Max Value of Other Column within Group_by

 G= c("P52" ,"P52","P66 - PARK II","P66 - PARK II" ,"P66 - PARK II" ,"P66 - PARK II" ,"P82 V3","P82 V3","P82 V3","P52","P52","P66 - PARK II" ,"P66 - PARK II" ,"P82 V3","P66 - PARK II" ,"P66 - PARK II" ,"P82 V3","P82 V3"        ,"P88","P88","P88","P52","P82 V3","P66 - PARK II" ,"P66 - PARK II" ,"P82 V3","P52","P88","P88","P52" ,"P88","P82 V3","P88","P82 V3","P82 V3","P82 V3","P88","P88","P66 - PARK II" ,"P66 - PARK II" ,"P66 - PARK II" ,"P66 - PARK II" ,"P88","P66 - PARK II" ,"P88"           ,"P52","P52","P52","P52","P52","P52","P66 - PARK II" ,"P66 - PARK II" ,"P66 - PARK II","P88","P82 V3","P82 V3","P88","P88","P66 - PARK II" ,"P66 - PARK II" ,"P52","P52","P66 - PARK II" ,"P66 - PARK II" ,"P66 - PARK II" ,"P66 - PARK II" ,"P66 - PARK II" ,"P66 - PARK II" ,"P66 - PARK II" ,"P66 - PARK II" ,"P66 - PARK II","P66 - PARK II" ,"P82 V3","P66 - PARK II" ,"P82 V3","P88","P82 V3","P88","P88","P66 - PARK II","P82 V3","P82 V3" ,"P66 - PARK II" ,"P66 - PARK II" ,"P66 - PARK II" ,"P82 V3","P88","P88","P82 V3","P66 - PARK II" ,"P66 - PARK II" ,"P66 - PARK II" ,"P66 - PARK II" ,"P66 - PARK II" ,"P66 - PARK II" ,"P88"           ,"P66 - PARK II" ,"P66 - PARK II","P66 - PARK II" )
GA = runif(100, min=20, max=50)
GL = runif(100, min=20, max=50)

df=data.frame(G=G,GA=GA,GL=GL)
df$Sq <- seq(1:nrow(df))
library(MASS)
library(dplyr)
by_G<- group_by(df,G)
fg1 <- summarise(by_G,
                 Row_Index1=row_number(which.max(GA)),
                 Row_Index2=row_number(which.max(GL)),
                 n=n())  

以上是可重现的代码,我正在尝试提取行 ID 号,其中列 GA 在组内具有最大值。

假设 Sq 指的是数据集中的行 ID,下面将给出每个组 G 中具有最大 GA 的行 ID:

by_G %>% arrange(desc(GA)) %>% summarise(Sq = first(Sq))

# A tibble: 4 × 2
              G   Sq
         <fctr> <int>
1           P52    46
2 P66 - PARK II    13
3        P82 V3    90
4           P88    55