Bagaimana dengan yang berikut ini, dimana y adalah nama dari matriks anda dan anda sedang mencari nilai maksimum di seluruh matriks:
row(y)[y==max(y)]
jika Anda ingin mengekstrak baris:
y[row(y)[y==max(y)],] # this returns unsorted rows.
Untuk mengembalikan baris yang diurutkan, gunakan:
y[sort(row(y)[y==max(y)]),]
Keuntungan dari pendekatan ini adalah Anda dapat mengubah bagian dalam bersyarat menjadi apa pun yang Anda butuhkan. Selain itu, menggunakan col(y)
dan lokasi tanda koma gantung Anda juga dapat mengekstrak kolom.
y[,col(y)[y==max(y)]]
Untuk menemukan hanya baris untuk maks di kolom tertentu, katakan kolom 2, Anda dapat menggunakan:
seq(along=y[,2])[y[,2]==max(y[,2])]
lagi-lagi persyaratannya fleksibel untuk mencari persyaratan yang berbeda.
Lihat Bab 5 "Pengantar S dan S-Plus" yang sangat baik dari Phil Spector untuk gagasan tambahan.