我有两个大小不同的向量,值也不同。
v1=c("3423","3221","65892","8033")
v2=c("3423","3221","9923")
根据这两个向量,我有以下一组值。
{"3423","3221","65892","8033","9923"}
现在,我想计算这两个向量之间的余弦相似度。我不知道如何制作如下的二进制向量。
v1bin=c(1,1,1,1,0)
v2bin=c(1,1,0,0,1)
这些向量可用于计算余弦相似度。有没有办法制作这样的二进制向量?
答案 0 :(得分:0)
首先,对两个向量进行并集。
V3=union(v1,v2)
现在制作第一个二进制向量。
BinaryVector1=ifelse(v3 %in% v1, 1, 0)
还有第二个二进制向量。
BinaryVector2=ifelse(v3 %in% v2, 1, 0)
现在使用 LSAfun 包中的余弦函数来计算余弦相似度。
Similarity=cosine(BinaryVector1,BinaryVector2)[1,]