私は次のような要素のリストを持っています
A=
0.992688
0.892195
0.889151
0.380672
0.180576
0.685028
0.58195
0.4のような入力要素が与えられた場合、この数値に最も近い数値を保持するインデックスをどのように見つけることができますか。たとえば、A[4] = 0.380672
は0.4に最も近いです。したがって、4に戻る必要があります
私は次のような要素のリストを持っています
A=
0.992688
0.892195
0.889151
0.380672
0.180576
0.685028
0.58195
0.4のような入力要素が与えられた場合、この数値に最も近い数値を保持するインデックスをどのように見つけることができますか。たとえば、A[4] = 0.380672
は0.4に最も近いです。したがって、4に戻る必要があります
私は使うだろうwhich.min
which.min(abs(x-0.4))
これにより、に最も近い数値の最初のインデックスが返され0.4
ます。
一方通行:
# as mnel points out in his answer, the difference,
# using `which` here gives all indices that match
which(abs(x-0.4) == min(abs(x-0.4)))
あなたのベクトルはどこx
ですか。
または、
# this one returns the first index, but is SLOW
sort(abs(x-0.4), index.return=T)$ix[1]
使用することもできますbase::findInterval(0.4, x)