と の 2 つのベクトルがx
ありw
ます。vectorw
は、x と同じ長さの重みの数値ベクトルです。差が小さいベクトル内の最初のペア要素の加重平均を取得するにはどうすればよいですかx
(たとえば、tol= 1e-2)、次に、次の反復で、差のペアがなくなるまで次のペアに対して同じことを行います。は tol 未満ですか? たとえば、これらのベクトルは次のとおりです。
x = c(0.0001560653, 0.0001591889, 0.0001599698, 0.0001607507, 0.0001623125,
0.0001685597, 0.0002793819, 0.0006336307, 0.0092017241, 0.0092079042,
0.0266525118, 0.0266889564, 0.0454923285, 0.0455676525, 0.0457005450)
w = c(2.886814e+03, 1.565955e+04, 9.255762e-02, 7.353589e+02, 1.568933e+03,
5.108046e+05, 6.942338e+05, 4.912165e+04, 9.257674e+00, 3.609918e+02,
8.090436e-01, 1.072975e+00, 1.359145e+00, 9.828314e+00, 9.455688e+01)
のどのペア要素が最小の差を持っているかを見つけたいですx
。このペアを見つけた後、加重平均を取得します。このコードを試してみましたが、結果が得られません。のインデックスを見つけて、min(diff(x))
それが tol より小さいかどうかを確認するにはどうすればよいですか?
> min(diff(x))
> which(min(diff(x)) < 1e-2)