Que tal o seguinte, onde y é o nome da sua matriz e você está procurando o máximo em toda a matriz:
row(y)[y==max(y)]
se você deseja extrair a linha:
y[row(y)[y==max(y)],] # this returns unsorted rows.
Para retornar linhas classificadas, use:
y[sort(row(y)[y==max(y)]),]
A vantagem dessa abordagem é que você pode alterar a condicional interna para qualquer coisa de que precisar. Além disso, usando col(y)
e a localização da vírgula suspensa, você também pode extrair colunas.
y[,col(y)[y==max(y)]]
Para encontrar apenas a linha do máximo em uma coluna específica, digamos que a coluna 2 você possa usar:
seq(along=y[,2])[y[,2]==max(y[,2])]
novamente, a condicional é flexível para procurar requisitos diferentes.
Consulte o excelente Capítulo 5 de Phil Spector, "Uma introdução a S e S-Plus", para obter ideias adicionais.