【发布时间】:2016-03-09 10:24:38
【问题描述】:
我有一个 1024x1024 的距离矩阵,其中包含所有术语之间的所有距离。我想从那开始定义一个图表。所以我定义了一个最小生成树,并计算了它的邻接矩阵。
我的距离矩阵是distMat。
matrix_of_distances <- as.matrix(distMat)
myGraph <- graph.adjacency(matrix_of_distances, weighted=TRUE)
我的图是一个包含所有可能弧线的图(因为所有项之间的距离都是有限值)。我需要另一个更稀疏的图:
mst <- as.undirected(minimum.spanning.tree(myGraph))
从该稀疏图中,我可以计算邻接矩阵:
adjacency <- as_adjacency_matrix(mst, type = c("both", "upper", "lower"), attr = NULL, edges = FALSE, names = TRUE, sparse =igraph_opt("sparsematrices"))
现在我想以不同的方式创建矩阵邻接,传递另一个最小生成树对象。假设我创建了另一棵生成树:
spt <- spantree(matrix_of_distances)
如果我这样做:
adjacency <- as_adjacency_matrix(spt, type = c("both", "upper", "lower"), attr = NULL, edges = FALSE, names = TRUE, sparse =igraph_opt("sparsematrices"))
我得到错误:
as_adjacency_matrix(spt, type = c("both", "upper", "lower"), : 不是图形对象
我再次尝试从最小生成树生成邻接矩阵。我该如何解决?
【问题讨论】:
标签: r distance igraph minimum-spanning-tree adjacency-matrix