我在欧氏距离计算中很丢失.我发现函数dist2 {SpatialTools}或rdist {fields}来执行此操作,但它们不能按预期工作.
我想一个点在carthesian系统中有两个坐标,所以[x,y].
要测量2个点之间的距离(由行定义),我需要2个点的4个坐标,所以
A点:[x1,y1]
B点:[x2,y2]
积分协调:
A[0,1]
B[0,0]
C[1,1]
D[1,1]
我有两个矩阵:x1(A和C在那里,由行定义)和x2(包含B和D).写在矩阵中:
library("SpatialTools")
x1
x2
所以我得到了
> x1
[,1] [,2]
[1,] 0 1 #(as xy coordinates of A point)
[2,] 1 1 #(same for C point)
> x2
[,1] [,2]
[1,] 0 0 #(same for B point)
[2,] 1 1 #(same for D point)
计算欧几里德之间的距离
A B # same as x1[1,] x2[1,]
C D # same as x1[2,] x2[2,]
我假设获得EuclidDist:
> x1 x2 EuclidDist
[,1] [,2] [,1] [,2]
[1,] 0 1 #A [1,] 0 0 #B 1
[2,] 1 1 #B [2,] 1 1 #D 0
我想获得由[x,y]坐标识别的两点之间的距离矢量,但是,使用dist2我得到一个矩阵:
> dist2(x1,x2)
[,1] [,2]
[1,] 1.000000 1
[2,] 1.414214 0
我的问题是,哪个数字描述了这个矩阵中A-B和C-D之间真正的欧几里德距离?我误会了什么吗?非常感谢你的每一条建议或任何解释.