如何创建顶点的完整列表,形成顶点列表

时间:2018-08-27 19:33:01

标签: r igraph

如何从顶点列表创建完整的二元组列表? 我有一个列表(1、2、3 ...),我需要生成一个列表,其中包含该列表中的所有可能的二元组(1-1、1-2、1-3、2-1、2-2等)。 ..)。 我已经尝试过使用get.edgelist,但是它不起作用,因为该图没有完全连接(所有节点都连接在其中)。

谢谢

1 个答案:

答案 0 :(得分:0)

使用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中, dyads 被称为 edges ,而 nodes 被称为顶点