我有一个图表的数据集(无向),由边缘表示。但是大多数顶点都没有连接。
假设顶点集是
{1,2,3,4,5,6,7,8}
并且边缘只是
1->2
2->3
1->3
如何使用igraph包获得此邻接矩阵?使用下面的代码不会给出完整的邻接,因为它只在输入边缘列表中获得3个顶点
get.adjacency(graph.edgelist(as.matrix(edges), directed=FALSE))
答案 0 :(得分:2)
?graph.edgelist
显示图表的其他构造函数。似乎graph
符合您的要求:
library(igraph)
edges <- data.frame(v1 = c(1, 2, 1), v2 = c(2, 3, 3))
g <- graph(edges = t(as.matrix(edges)), n = 8, directed = FALSE)
get.adjacency(g)
# 8 x 8 sparse Matrix of class "dgCMatrix"
#
# [1,] . 1 1 . . . . .
# [2,] 1 . 1 . . . . .
# [3,] 1 1 . . . . . .
# [4,] . . . . . . . .
# [5,] . . . . . . . .
# [6,] . . . . . . . .
# [7,] . . . . . . . .
# [8,] . . . . . . . .