如何在R中制作余弦的二进制向量

时间:2018-11-05 11:31:29

标签: r vector rstudio cosine-similarity cosine

我有两个大小不同的向量,值也不同。

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) 
这些向量可用于计算余弦相似度。有没有办法制作这样的二进制向量?

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,]