rowEuclidean
语法
rowEuclidean(X, Y)
参数
X 和 Y 是长度相同的数值型向量或数组向量,或维度相同的矩阵。若 X 和 Y 为数组向量,它们对应位置的向量必须具有相同长度。
详情
若 X 和 Y 同时为向量/矩阵,按行计算 X 和 Y 之间的欧式距离。若 X 和 Y 同时为索引矩阵,会对齐标签,对标签相同的行进行计算,标签不同的行直接返回 NULL。
若 X 和 Y 一个为向量,一个为矩阵,则向量的长度必须与矩阵的列数相同,计算向量与矩阵每一行的欧式距离。
若 X 和 Y 是数组向量,计算 X 和 Y 对应位置的向量之间的欧式距离,即 euclidean(X.row(i),Y.row(i))。
若 X 和 Y 一个为向量,一个为数组向量,计算向量与数组向量内每个向量的欧式距离。两个向量的长度相同时返回计算结果,长度不相同时返回 NULL。
与所有其它聚合函数一致,计算时忽略 NULL 值。
例子
rowEuclidean(3.6 5.2 6.3, 8.6 4.8 5.5)
# output
[5,0.4,0.8]
m=matrix(23 56 47, 112 94 59)
m1=matrix(11 15 89, 52 41 63)
rowEuclidean(m,m1)
# output
[61.1882,67.0075,42.19]
m.rename!(2020.01.01..2020.01.03, `A`B)
m.setIndexedMatrix!()
m1.rename!(2020.01.01 2020.01.03 2020.01.04, `A`B)
m1.setIndexedMatrix!()
rowEuclidean(m,m1)
# output
[61.1882,NULL,36.7151,NULL]
a=array(INT[],0,10)
a.append!([[1, 8, 9],[15, NULL], [25, 22, 13, 15]])
b=array(INT[],0,10)
b.append!([[11, 18, 6],[5, 9], [5, 2, 3, 1]])
rowEuclidean(a,b)
# output
[14.4568,10,33.1059]
相关函数:euclidean