我想从csv文件中找到包含如下信息的邻接矩阵:
A B 1 2 1 3 1 4 2 5 3 7
等等 . 有100个节点,但每次我尝试创建一个矩阵并随后绘制图形时,错误是它是一个非方形矩阵 . 有人能帮我解决R中的正确代码吗?
你有什么是边缘清单 . 您可以从中构建图形,然后将其转换为邻接矩阵:
library(igraph) get.adjacency(graph.edgelist(as.matrix(dat), directed=FALSE))
(使用Tyler的答案中的 dat ) . 这给了
dat
7 x 7 sparse Matrix of class "dgCMatrix" [1,] . 1 1 1 . . . [2,] 1 . . . 1 . . [3,] 1 . . . . . 1 [4,] 1 . . . . . . [5,] . 1 . . . . . [6,] . . . . . . . [7,] . . 1 . . . .
也许是这样的:
dat <- read.table(text="A B 1 2 1 3 1 4 2 5 3 7", header=TRUE) x <- table(dat) x %*% t(x)
但也许你真的想要: igraph::graph.data.frame
igraph::graph.data.frame
2 回答
你有什么是边缘清单 . 您可以从中构建图形,然后将其转换为邻接矩阵:
(使用Tyler的答案中的
dat
) . 这给了也许是这样的:
但也许你真的想要:
igraph::graph.data.frame