我使用TraMineR软件包中的seqdist函数。
首先,我计算seq.all中的2条轨迹:
seqdist(seq.all[1:2,], method="OM", indel=1.1, sm=couts)
[,1] [,2]
[1,] 0.00000 46.91843
[2,] 46.91843 0.00000
因此,这些轨迹之间的距离似乎是46.91843。
但是当我使用参数refseq时:
seqdist(seq.all[1,], method="OM", indel=1.1, sm=couts,refseq = seq.all[2,])
[1] 60.32636
现在,这些轨迹之间的距离似乎是60.32636。
诀窍是什么?
答案 0 :(得分:2)
通过将序列的索引作为refseq
参数传递,可以得到所有序列到所考虑序列对象的序列之一的距离。因此,您可以使用
seqdist(seq.all, method="OM", sm=couts, indel=1.1, refseq=2)[1]
尽管如此,您的代码也应该可以工作,并且应该提供相同的值。
这是将refseq序列作为序列对象传递时可能发生的错误。我们将对其进行修复,并在接下来的几天内在R-Forge上提供新版本。