1
          ios d.0 d.1 d.2 d.3 d.4 d.5
1   190371877 HDa 2Pb   2 BxU BuQ Bve
2   190890807 HCK 2Pb   2  09   F   G
3   193999742 HDa 2Pb   2 1wL 1ye    
4   192348099 HDa 2Pb   2 2WP        
5   194907960 HDa 2Pb   2   Y   F   G
6   194306872 HDa 2Pb   2 2WP        
7   190571682 HDa 2Pb   2   i   F   C
8   195878080 HDa 2Pb   2   Y   F   G
9   195881580 HDa 2Pb   2   Y   F   G
10  193746161 HDa 2Pb   2 1wL     

下面是我的代码。我只能比较 2 个向量,现在我想构建一个函数

library('lsa')
td = tempfile()
dir.create(td)
write( c("HDa","2Pb","2","BxU","BuQ","Bve"), file=paste(td, "D1", sep="/"))
write( c("HCK","2Pb","2","09","F","G"), file=paste(td, "D2", sep="/"))


myMatrix = textmatrix(td, minWordLength=1)
res <- lsa::cosine(myMatrix[,1], myMatrix[,2])
res
#0.3333

我有一个像上面一样的 266 行和 7 列的矩阵。第一列是我的产品 ID,其他列是产品的最终标签。如果我想拥有自己的函数并提供 2 个输入,则一个是确定的标签向量(如 c("HDa","2Pb","2","BxU","BuQ","Bve"))和其他是产品 id(ios)。结果,我想在与产品 id 向量最相似的前 8 个产品中查看真假(1 或 0)。

谁能给我一个线索,让我知道我应该怎么做才能解决我的问题?

4

0 回答 0