У меня есть две матрицы, одна, скажем, 1000 строк, а другая - миллион строк (и столько же столбцов), M_small
и M_large
.
Я бы хотел найти для небольшой матрицы, есть ли в M_large
строки, для которых разница между M_large
и M_small
близка к нулю (меньше 0,5).
Например:
M_small = structure(c(10, 1, 7, 11, 2, 8, 12, 3, 9, 13, 4, 10, 14, 5, 11
), .Dim = c(3L, 5L))
M_large = structure(c(10.1, 0.9, 300, 100, 65, 1.2, 15, 200, 400, 11.01,
8.11, 2.11, 16, 3.05, 500, 300, 9.12, 33, 13.2, 40, 600, 400,
77, 45, 20, 55, 700, 1000, 88, 56), .Dim = 6:5)
Для каждой строки M_small
я бы хотел найти строки и столбцы M_large
, близкие к M_small
. Так, например:
M_large - M_small[1,]
показывает, что первая строка M_small
близка к M_large
в столбцах 1
и 4
(разница составляет 0.1
и 0.2
соответственно).
Как мне ОЧЕНЬ эффективно достичь этого?