Оптимизация: создание списка кластеров наиболее оптимизированным способом - PullRequest
3 голосов
/ 25 сентября 2019

У меня есть фрейм данных, который состоит из пар, он выглядит следующим образом:

Col_1  Col_2

A      B 
B      G
A      C
D      F
E      F   

Теперь, из этого фрейма данных пар, я хочу создать список как вывод, который выглядит так:

output[[1]]
> A B G C

output[[2]]
> D F E

Порядок вывода не имеет значения (как для всех элементов, так и для элемента)

Я написал некоторый длинный код, который для меня неэффективен.(Я рад поделиться этим, если кто-то захочет увидеть это) Есть ли эффективный способ решения этой проблемы?

1 Ответ

1 голос
/ 25 сентября 2019

Один из способов включает библиотеку igraph:

clusters <- clusters(graph.data.frame(df, directed = FALSE))$membership
split(names(clusters), clusters)

$`1`
[1] "A" "B" "G" "C"

$`2`
[1] "D" "E" "F"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...