2014-11-01 50 views
0

比方說,我們在爲r的矢量:獲取所有的最大值指數在A R矢量

max(v) 

如何:

v <- (2, 3, 4, 5, 5, 5) 

我們可以用max函數很容易地找到矢量的最大我們能找到所有最大值出現的指標嗎?有函數which.max(v)只返回第一個索引。有沒有一種簡單的方法來獲得所有在R中具有最大值的索引?

它是一個虛擬的問題,但只是好奇知道。

回答

2

which(v == max(v))怎麼樣?

+0

這很酷!你能解釋一下邏輯的工作原理嗎? – 2014-11-01 22:10:44

+1

其實沒有太多的東西...... v == max(v)'返回一個邏輯向量,如果v [i]'等於最大值,那麼它的第i個條目是TRUE,否則返回FALSE。然後'which'返回包含TRUE值的索引。我猜這裏的重要部分是==是矢量化的(即它返回一個矢量比較每個組件,而不是像其他語言中的單個TRUE/FALSE值) – konvas 2014-11-01 22:19:52