R에서 유클리드 거리를 계산하는 방법(예제 포함)


두 벡터 A와 B 사이의 유클리드 거리는 다음과 같이 계산됩니다.

유클리드 거리 = √ Σ(A i -B i ) 2

R에서 두 벡터 사이의 유클리드 거리를 계산하기 위해 다음 함수를 정의할 수 있습니다.

 euclidean <- function (a, b) sqrt ( sum ((a - b)^2))

그런 다음 이 함수를 사용하여 두 벡터 사이의 유클리드 거리를 찾을 수 있습니다.

 #define two vectors
a <- c(2, 6, 7, 7, 5, 13, 14, 17, 11, 8)
b <- c(3, 5, 5, 3, 7, 12, 13, 19, 22, 7)

#calculate Euclidean distance between vectors
euclid(a, b)

[1] 12.40967

두 벡터 사이의 유클리드 거리는 12.40967 입니다.

이 함수를 사용하여 데이터 프레임의 두 열 사이의 유클리드 거리를 계산할 수도 있습니다.

 #define data frame
df <- data.frame(a=c(3, 4, 4, 6, 7, 14, 15),
                 b=c(4, 8, 8, 9, 14, 13, 7),
                 c=c(7, 7, 8, 5, 15, 11, 8),
                 d=c(9, 6, 6, 7, 6, 15, 19))

#calculate Euclidean distance between columns a and d
euclid(df$a, df$d)

[1] 7.937254

두 벡터의 길이가 같지 않으면 이 함수는 경고 메시지를 생성합니다.

 #define two vectors of unequal length
a <- c(2, 6, 7, 7, 5, 13, 14)
b <- c(3, 5, 5, 3, 7, 12, 13, 19, 22, 7)

#attempt to calculate Euclidean distance between vectors
euclid(a, b)

[1] 23.93742
Warning message:
In a - b: longer object length is not a multiple of shorter object length

유클리드 거리에 대해 자세히 알아보려면 이 Wikipedia 페이지를 참조하세요 .

추가 리소스

R에서 맨해튼까지의 거리를 계산하는 방법
R에서 Minkowski 거리를 계산하는 방법
R에서 해밍 거리를 계산하는 방법
R에서 Mahalanobis 거리를 계산하는 방법
R에서 Levenshtein 거리를 계산하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다