Я надеюсь, что вы можете помочь мне в проблеме, над которой я ломаю голову.
У меня есть 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
. Я нашел индекс Жаккара как подходящий математический индекс, но он применим только к нескольким наборам. Я решил вычислить индекс Жаккара для каждой уникальной пары ipc
для каждого значения appl
, а затем вычислить среднее значение.
Я нашел функцию set_similarity
для вычисления индекса Жаккара между двумя множествами.
Однако я не знаю, как на практике реализовать эту стратегию — или любую другую.
Как мне правильно реализовать что-то вроде
for (each `appl`)
{ put all `ipc` in a list,
take all possible unique combinations,
apply `set_similarity` on them,
take the average }
?
Я много раз проверял уже отвеченные вопросы по теме, но я не могу их успешно применить.
Спасибо