R iGraph:如何从图中获得加权邻接矩阵?

时间:2018-01-24 13:27:37

标签: r igraph adjacency-matrix weighted-graph

虽然有一些问题涉及从邻接矩阵创建图形,但我没有发现从加权图中提取 加权 邻接矩阵的情况。< / p>

说我有以下图表:

CacheResolver

如何获得图g的加权邻接矩阵?

1 个答案:

答案 0 :(得分:1)

看来实际上有很多方法可以做到这一点。 也许很明显,第一种方法是仔细查看library(igraph) nodes <- data.frame(name=c("a","b", "c", "d", "f", "g")) col1 <- c("a", "g", "f","f", "d","c") col2 <- c("b", "f","c","d","a","a") weight <- c(1,4,2,6,2,3) edges <- cbind.data.frame(col1,col2,weight) g <- graph.data.frame(edges, directed=F, vertices=nodes) E(g)$weight <- weight as_adjacency_matrix()并使用attr选项:

as_adjacency_matrix(g,attr = "weight",sparse = T)

6 x 6 sparse Matrix of class "dgCMatrix"
  a b c d f g
a . 1 3 2 . .
b 1 . . . . .
c 3 . . . 2 .
d 2 . . . 6 .
f . . 2 6 . 4
g . . . . 4 .

但也可以输入

get.adjacency(g,attr = "weight",sparse = T)

或者只是

g[]

6 x 6 sparse Matrix of class "dgCMatrix"
  a b c d f g
a . 1 3 2 . .
b 1 . . . . .
c 3 . . . 2 .
d 2 . . . 6 .
f . . 2 6 . 4
g . . . . 4 .

即使我不确定最后一个选项的有效范围。