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] )