我有一个nxm邻接矩阵,其中(i,j)表示i和j之间关联的分数.我需要将其转换为以下格式,如:
i j <score1>
使用R'igraph包并将其输出到文本文件中.
我可以推导出边缘列表,但它没有显示权重.我使用了以下代码:
library(igraph)
g <- graph.adjacency(myAdjacencymatrix)
get.edgelist(g)
但是,它没有显示重量.
jlh*_*ard 20
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
Run Code Online (Sandbox Code Playgroud)
您需要weighted=TRUE在调用graph.adjacency(...)中使用权重分配给边.然后,get.data.frame(...)默认情况下将返回带有所有边属性的边的数据框.您可以使用what=...参数返回,例如,带有属性的顶点列表.
将来:提供一个例子,而不是强迫我们为你创建一个!