R のユークリッド距離を計算する方法 (例付き)


2 つのベクトル A と B の間のユークリッド距離は次のように計算されます。

ユークリッド距離 = √ Σ(A i -B i ) 2

R の 2 つのベクトル間のユークリッド距離を計算するには、次の関数を定義できます。

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

次に、この関数を使用して、任意の 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

2 つのベクトル間のユークリッド距離は12.40967であることがわかります。

この関数を使用して、データ フレームの 2 つの列間のユークリッド距離を計算することもできることに注意してください。

 #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

2 つのベクトルが同じ長さでない場合、この関数は警告メッセージを生成することに注意してください。

 #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 でミンコフスキー距離を計算する方法
R でのハミング距離の計算方法
R でマハラノビス距離を計算する方法
R でレーベンシュタイン距離を計算する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です