2
私は、データフレーム、tmp
を持っている:dist()は実際に何を計算していますか?
class x y
1 A -2.8959969 -0.3192259
2 B -0.2401775 0.5801373
私はdist(tmp, method="euclidean", diag=TRUE, upper=FALSE, p=2)
を計算し得た:
1 2
1 0.000000
2 3.434144 0.000000
を私は単にこれはユークリッド距離であるかを見つけ出すことはできません。私はユークリッド距離があるべきだと思うものを計算する場合、それは次のようになります。
((A_{x} - B_{x})^2 + (A_{y} - B_{y})^2)^0.5 =
((-2.8959969 + 0.2401775)^2 + (-0.3192259 - 0.5801373)^2)^0.5 =
2.803967
これは何dist()
戻ってから矛盾です。
「ユークリッド」:2つのベクトル間の通常の距離(2ノルム別名 L_2
は、ドキュメントによれば、
利用可能な距離尺度は、(2つのベクトルxとyのために書かれた)されていると言います)、sqrt(sum((x_i_y_i)^ 2))。
どこが間違っていますか?
'dist(tmp [-1])' –
'dist(tmp [-1])'は私のクラスの列を取り除いて動作します。上記の私の場合、Rはクラスの文字をどのように扱っていますか? –
因子値として、 'as.numeric(tmp $ class)'。 –