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)。
谁能给我一个线索,让我知道我应该怎么做才能解决我的问题?