R igraph - 将带权邻接矩阵转换为带权边列表

5
我有一个nxm的邻接矩阵,其中(i,j)表示i和j之间关联的分数。我需要将其转换为以下格式: i j <score1> 使用R的igraph包并将其输出到文本文件中。 我可以得到边缘列表,但是没有权重。我使用了以下代码: library(igraph) g <- graph.adjacency(myAdjacencymatrix) get.edgelist(g) 然而,它不显示权重。

这里提供一个可重现的例子会很有帮助。 - MrFlick
1个回答

24
library(igraph)
set.seed(1)                # for reproducible example
myAdjacencyMatrix <- matrix(runif(400),nc=20,nr=20)

g  <- graph.adjacency(myAdjacencyMatrix,weighted=TRUE)
df <- get.data.frame(g)
head(df)
#   from to    weight
# 1    1  1 0.2655087
# 2    1  2 0.9347052
# 3    1  3 0.8209463
# 4    1  4 0.9128759
# 5    1  5 0.4346595
# 6    1  6 0.6547239

在调用 graph.adjacency(...) 时需要使用 weighted=TRUE 以使权重分配给边。然后,默认情况下,get.data.frame(...) 将返回具有所有边属性的边的数据框。您可以使用 what=... 参数返回带有属性的顶点列表等。

未来请提供示例,而不是强制我们为您创建一个!!!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接