如何从顶点列表创建完整的二元组列表? 我有一个列表(1、2、3 ...),我需要生成一个列表,其中包含该列表中的所有可能的二元组(1-1、1-2、1-3、2-1、2-2等)。 ..)。 我已经尝试过使用get.edgelist,但是它不起作用,因为该图没有完全连接(所有节点都连接在其中)。
谢谢
答案 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 ,并且具有以下许多边:
请注意,在igraph中, dyads 被称为 edges ,而 nodes 被称为顶点。