У меня есть 2 фрейма данных (temp_inp & temp) с 5 и 50 тыс. Строк соответственно, и у обоих около 3 тыс. Столбцов.
Я хочу вычислить евклидово расстояние [(x1-x2) ^ 2- нетнужно брать квадратные корни или делить на nrow - мне просто нужны строки с минимальным расстоянием] между всеми строками dataframe1 против dataframe 2.
В окончательном требуемом выводе будут строки = строки из столбцов temp (50k) =строки из temp_inp (5)
После чего я хочу взять 5 строк с минимальными расстояниями от фрейма данных 1.
Обратите внимание, что что-то вроде функции rbind & dist не будет работать из-за размераданных.Я попробовал вот что:
for (i in c(1:nrow(temp_inp))) {
for (j in c(1:nrow(temp))) {
temp1[j,i] <- sum((temp[j,]-temp_inp[i,])^2)
}}
Это занимает безумное количество времени ... (8 часов) Я попытался стучать по моей, чтобы найти векторизованную версию того же кода.Пожалуйста, помогите мне, если у вас есть какие-либо идеи относительно этого или вы знаете какие-либо встроенные функции / пакеты, которые помогут мне сделать это.