[R语言]想要对数据分组求最大值,并且要最大值对应行的数据

你好,各位彦祖。

我导入了一个csv文件,第一列数据是取整数的序号从0-130,纵行名称为ac,但是每个序号有重复的对应了不同的数据,简略来说差不多如下图。

img

我尝试了用tidyverse里的group_by函数先对数据以ac为分组依据,然后用summarise函数以af为统计依据求每个组里的af最大值。

setwd("######")
DataOrigin<-read.csv("######.csv")
library(tidyverse)
data<-group_by(DataOrigin,ac)
summarise(data,afmax=max(af))

运行效果如图

img

但是我还想要af取最大值时候对应那一行as的值
就是这样的效果

img

不知道该如何操作。
感激不尽!

可试试使用:
summarise(data,afmax=max(af),as=d[which(data$af==afmax),3])
示例:

d<-data.frame(ac=as.integer(gl(5,5)),af=runif(25,20,200),as=runif(25,10,50))
print(d)
library(tidyverse)
data<-group_by(d,ac)
summarise(data,afmax=max(af),as=d[which(data$af==afmax),3])

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632