У меня есть 2 больших фрейма данных в R, оба с приблизительно 100k строками, которые содержат списки географических координат (широта / долгота). Я пытаюсь перебрать их, получая все комбинации между элементами и после, применяя к ним функцию.
Поскольку число комбинаций составляет около 11 миллиардов (11 x 1.000.000.000), моя первоначальная идея использования цикла неприменима.
Фреймы данных будут выглядеть примерно так:
A<-as.data.frame(cbind(rbind(-0.1822,-0.4419,0.2262),rbind(51.5307,51.4856,51.4535)))
(...)
<!-- -->
V1 . V2
-0.1822 . 51.5307
-0.4419 . 51.4856
0.2262 . 51.4535
B<- as.data.frame(cbind(rbind(-0.4764,-0.2142,-0.2197),rbind(51.5221,51.4593,51.5841)))
(...)
<!-- -->
V1 . V2
-0.4764 . 51.5221
-0.2142 . 51.4593
-0.2197 . 51.5841
Я бы хотел, чтобы результат выглядел следующим образом:
V1a . V2a . V1b . V2b
-0.1822 . 51.5307 . -0.4764 . 51.5221
-0.4419 . 51.4856 . -0.4764 . 51.5221
0.2262 . 51.4535 . -0.4764 . 51.5221
-0.1822 . 51.5307 . -0.2142 . 51.4593
-0.4419 . 51.4856 . -0.2142 . 51.4593
(...)
В другом посте здесь в stackoverflow ([ссылка] Расчет матрицы расстояний большого круга ) предлагается использовать:
применить (A, 1, FUN = функция (X) distHaversine (X, B))
Однако я подозреваю, что созданная матрица слишком велика для выполнения вычислений.
Есть идеи, как решить это эффективно? Помня о том, что после этого моя цель - применить функцию Haversine для вычисления расстояний между точками.
Спасибо
J * * тысяча двадцать-один