r语言 - dist() 实际上计算是什么?



我有一个数据框,tmp

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()返回的内容不一致。

根据文件,它说

可用的距离度量为(为两个向量 x 和 y 编写):

"欧几里得":两个向量之间的通常距离(2 范数又名 L_2), sqrt(sum((x_i - y_i)^2)).

我哪里出错了?

Dotmp[-1]

只做tmp似乎表现得很奇怪。 这是应该报告为错误的东西吗???

最新更新