Znajdź maks. Na grupę i zwróć kolejną kolumnę

Biorąc pod uwagę następującą macierz testową:

testMatrix <- matrix( c(1,1,2,10,20,30,300,100,200,"A","B","C"), 3, 4)

colnames(testMatrix) <- c("GroupID", "ElementID", "Value", "Name")

Tutaj chcę znaleźć maks. Na grupę, a następnie zwrócić nazwę tej kolumny. Na przykład. Spodziewałbym się 1, A i 2, C. Jeśli jest remis z maksimum, pierwszy mecz będzie w porządku. Po tym musiałbym dołączyć to do macierzy z nową kolumną „GroupName”

Jak mogę to zrobić?

Mam już kombinację Grupy, Maksymalna wartość:

groupMax <- aggregate (as.numeric(testMatrix[,3]), by=list( testMatrix[,1] ), max )

Sposób, w jaki dodałem kolumny do mojej macierzy, działa w ten sposób (załóżmy, że istnieje już macierz groupNames z GroupID, kombinacjami nazw):

testMatrix <- cbind ( testMatrix, groupNames[match( testMatrix[,1], groupNames[,1] ), 2] ) 

questionAnswers(4)

yourAnswerToTheQuestion