Ответ 1
Используйте функцию dist()
, но вам нужно сформировать матрицу из двух входов для первого аргумента в dist()
:
dist(rbind(x1, x2))
Как найти евклидово расстояние двух векторов:
x1 <- rnorm(30)
x2 <- rnorm(30)
Используйте функцию dist()
, но вам нужно сформировать матрицу из двух входов для первого аргумента в dist()
:
dist(rbind(x1, x2))
Как определено в Wikipedia, это должно сделать это.
euc.dist <- function(x1, x2) sqrt(sum((x1 - x2) ^ 2))
Также существует функция rdist
в пакете fields
, которая может быть полезна. См. здесь.
EDIT: Изменен оператор **
на ^
. Спасибо, Гэвин.
попробуйте использовать это:
sqrt(sum((x1-x2)^2))