Надявам се, че можете да ми помогнете в проблем, върху който се разбивам.
Имам data.frame с три колони: appl
, cod
, ipc
. Този набор от данни има множество редове с едно и също appl
, като всеки ред съответства на едно cod
, което е свързано с едно ipc
. Последният може да бъде списък от една или повече стойности. appl
и cod
са цели числа. Пример
row appl cod ipc
11 | 1206 | 3857183 | 16
12 | 1220 | 1063002 | 29
13 | 1299 | 46437 | c("26", "31", "33")
14 | 1317 | 685895 | c("10", "13", "14", "16")
15 | 1317 | 790606 | c("10", "13", "14", "16")
Имам нужда от число, което ми казва, за всяка стойност на appl
, колко подобен е съставът на списъка в ipc
. Намерих индекса на Jaccard като подходящ математически индекс, но той се прилага само за няколко набора. Мислех да изчисля индекса на Jaccard за всяка уникална двойка от ipc
за всяка стойност appl
, след което да изчисля средната стойност.
Намерих функцията set_similarity
за изчисляване на индекса на Jaccard между два набора.
Не знам обаче как на практика да приложа тази стратегия - или която и да е друга.
Как да внедря правилно нещо подобно
for (each `appl`)
{ put all `ipc` in a list,
take all possible unique combinations,
apply `set_similarity` on them,
take the average }
?
Проверих многократно вече отговорени въпроси по темата, но не мога да ги приложа успешно.
Благодаря