как сделать двоичный вектор для косинуса в г - PullRequest
0 голосов
/ 05 ноября 2018

У меня есть два вектора разных размеров, имеющих разные значения.

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 голосов
/ 05 ноября 2018

Сначала создайте объединение обоих векторов.

V3=union(v1,v2)

Теперь создайте первый двоичный вектор.

BinaryVector1=ifelse(v3 %in% v1, 1, 0)

Существует второй двоичный вектор.

BinaryVector2=ifelse(v3 %in% v2, 1, 0)

Теперь вычислите сходство косинусов, используя функцию косинусов из пакета LSAfun .

Similarity=cosine(BinaryVector1,BinaryVector2)[1,]
...