2017-07-21 15 views
2

Rの最も近い対応する値に値を一致させ、そのインデックスを抽出する必要があります。R内の別の配列の値を最も近い値に一致させる

コマンドFindInterval(value,array)がこれを達成しますが、配列が昇順である場合にのみ機能します。

コマンドmatch(value,array)は、値がアレイ内の1と完全に一致する場合にのみ機能します。例えば

array <- c(0.1,0.5,0.6,0.3,0.9,1.4,0.45) 
value <- 0.47 

それからvalue(ここでは0.45)に対応する、最も近いにこれを一致(ここでは7)indexを返すコマンドたいです。

+8

'which.min(ABS(配列 - 値))' –

+0

@RonakShahは、あなたの先生は、この世界は#heroの#notallheroswearcapesを十分に持っていないものです –

答えて

4

arrayのすべての要素からvalueを減算して、絶対差を求め、which.minを使用して最小値のインデックス位置を取得できます。

which.min(abs(array - value)) 
# [1] 7 
関連する問題