Вы можете мне помочь: для каждого идентификатора я хочу извлечь наибольшее значение "a", которое имеет наибольшее значение "b".Другими словами, я хочу просмотреть значения «b», определить самые высокие (здесь b = 40).Если несколько «a» имеют одинаковое наибольшее значение «b» (здесь a = 20 и a = 30), тогда я хочу выбрать наибольшее значение «a» (здесь a = 30).
Здесьчто я сделал до сих пор:
df<- data.frame(ID=c('1','1','1','1','1','1'), a=c('10','20','30','10','2','30'), b=c('10','20','30','10','40', "40"))
library(plyr)
opt <- ddply(df,.(ID),summarise,
a=a[which.max(b)])
opt
ID a
1 2
но я не получаю:
ID a
1 30
Я был бы очень признателен за ваши предложения.Обратите внимание, что в отличие от этого примера набора данных, фактический набор данных, над которым я работаю, довольно большой.Большое спасибо!