8

私は次のような要素のリストを持っています

A=
  0.992688
  0.892195
  0.889151
  0.380672
  0.180576
  0.685028
  0.58195

0.4のような入力要素が与えられた場合、この数値に最も近い数値を保持するインデックスをどのように見つけることができますか。たとえば、A[4] = 0.380672 は0.4に最も近いです。したがって、4に戻る必要があります

4

3 に答える 3

14

私は使うだろうwhich.min

which.min(abs(x-0.4))

これにより、に最も近い数値の最初のインデックスが返され0.4ます。

于 2013-02-19T22:48:19.987 に答える
8

一方通行:

# 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]
于 2013-02-19T22:40:18.713 に答える
3

使用することもできますbase::findInterval(0.4, x)

于 2019-01-29T17:28:40.797 に答える