我有一个距离矩阵1024x1024与所有术语之间的所有距离。我想定义一个从此开始的图。所以我定义了一个最小生成树,并计算了它的邻接矩阵。从矩阵的距离到邻接矩阵
我的距离矩阵是distMat
。
matrix_of_distances <- as.matrix(distMat)
myGraph <- graph.adjacency(matrix_of_distances, weighted=TRUE)
My图表是与所有可能的弧的曲线图(因为所有夫妇术语之间的距离是有限的值)。我需要的另一图表稀疏:
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"))
我得到的错误:
Error in as_adjacency_matrix(spt, type = c("both", "upper", "lower"), : Not a graph object
同样,我试图生成邻接矩阵从最小生成树开始。我该如何解决这个问题?