как создать полный список диад из списка вершин - PullRequest
0 голосов
/ 27 августа 2018

как я могу создать полный список диад из списка вершин? У меня есть список (1, 2, 3 ...), и мне нужно создать список, содержащий все возможные диады из этого списка (1-1, 1-2, 1-3, 2-1, 2-2 ,. ..). Я пробовал с get.edgelist, но он не работает, потому что граф не полностью связан (все узлы связаны между собой).

Спасибо

1 Ответ

0 голосов
/ 30 августа 2018

Используя igraph, вы можете захватить все ребра графа, используя E(g). Если вам нужны все возможные ребра, вы можете применить их к полному графику (полностью связному графику). Если вершины в вашем графе действительно в последовательности от 1 до n, вы можете использовать make_full_graph(), чтобы сделать K n - то есть полностью связный граф. В этом примере у графа 14 вершин.

g <- make_full_graph(14, directed=F)
el <- as_edgelist(g)
edges <- E(g)
edges_list <- split(el, rep(1:nrow(el), each = ncol(el)))
edges_vert <- unlist(list(t(el)))

edges будет объектом igraph, но я думаю, что вам нужен список в R, например edges_list.

Как видите, length(edges_list) - это 91 , поскольку это неориентированный граф, а число ребер в полных графах является функцией числа вершин. Полный граф с n вершинами обычно пишется K n и имеет много ребер:

n

Обратите внимание, что в igraph диады называются ребрами и узлами называются вершинами .

...