Şuna ne dersiniz, burada y matrisinizin adıdır ve tüm matris içinde maksimumu arıyorsunuz:
row(y)[y==max(y)]
satırı çıkarmak istiyorsanız:
y[row(y)[y==max(y)],] # this returns unsorted rows.
Sıralanmış satırları döndürmek için şunu kullanın:
y[sort(row(y)[y==max(y)]),]
Bu yaklaşımın avantajı, içerideki koşullu ifadeyi ihtiyacınız olan herhangi bir şeye değiştirebilmenizdir. Ayrıca, col(y)
asılı virgülün yerini ve konumunu kullanarak da sütunları çıkarabilirsiniz.
y[,col(y)[y==max(y)]]
Yalnızca belirli bir sütundaki maksimum satırını bulmak için 2. sütunu kullanabilirsiniz diyelim:
seq(along=y[,2])[y[,2]==max(y[,2])]
yine koşullu, farklı gereksinimleri aramak için esnektir.
Ek fikirler için Phil Spector'ın mükemmel "S ve S-Plus'a Giriş" 5. Bölümüne bakın.