rowTanimoto

New in version 2.00.5.

语法

rowTanimoto(X, Y)

参数

XY 是长度相同的数值型向量/数组向量,或维度相同的矩阵。若 XY 为数组向量,它们对应位置的向量必须具有相同长度。

详情

XY 同时为向量/矩阵,按行计算 XY 之间的谷本距离。若 XY 同时为索引矩阵,会对齐标签,对标签相同的行进行计算,标签不同的行直接返回NULL。

XY 一个为向量,一个为矩阵,则向量的长度必须与矩阵的列数相同,计算向量与矩阵每一行的谷本距离。

XY 是数组向量,计算 XY 对应位置的向量之间的谷本距离,即 tanimoto(X.row(i),Y.row(i))。

XY 一个为向量,一个为数组向量,计算向量与数组向量内每个向量的谷本距离。两个向量的长度相同时返回计算结果,长度不相同时返回NULL。

与所有其它聚合函数一致,计算时忽略 NULL 值。

例子

$ rowTanimoto(3.6 5.2 6.3, 8.6 4.8 5.5)
[0.4467,0.0064,0.0181]

$ 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]])
$ rowTanimoto(a,b)
[0.5,0.5714,0.8309]

$ s1=indexedSeries(2020.01.01..2020.01.03, 10.4 11.2 9)
$ s2=indexedSeries(2020.01.01 2020.01.03 2020.01.04, 23.5 31.2 26)
$ rowTanimoto(s1,s2)
[0.4125,0.5337,0.5526]

$ m=matrix(23 56 47, 112 94 59)
$ m1=matrix(11 15 89, 52 41 63)
$ rowTanimoto(m,m1)
[0.3812,0.4889,0.1839]

$ 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!()
$ rowTanimoto(m,m1)
[0.3812,NULL,0.3014,NULL]

相关函数:tanimoto