сообщества,R - Как ускорить вычисление евклидова расстояния на очень большом наборе данных
У меня есть очень большой набор данных, содержащий 3 колонки с координатами (х, у, г) и 24 х 10^6 строк. Мне нужно вычислить эвклидовое расстояние между всеми строками и первой строкой, которая равна 0, 0, 0. С петлей ниже это занимает очень много времени! Я также пробовал это также на матрице, а не на кадре данных, но это не решило проблему.
У кого-нибудь есть предложения по ускорению этого процесса?
library(cluster)
e <- list() # list to be filled with euclidean distances
for (r in 1:(nrow(pca.123.df))) {
eucl.dist <- daisy(pca.123.df[c(1,r), ], metric = "euclidean") # Euclidean distance between anomaly and zero (row 1)
e[[r]] <- eucl.dist[1]
}
Спасибо, эффективное решении ! –