繁体   English   中英

R / Igraph在边缘列表中显示边缘权重?

[英]R/Igraph Display edge weights in an edge list?

在将图形对象视为边缘列表时,有没有办法显示边缘权重?

我想本着以下精神做点什么:

get.edgelist(graph, attr='weight')

以便查看边缘配对与节点旁边列出的权重,但似乎不允许。 我知道如何查看权重的唯一方法是将网络数据视为邻接矩阵。 希望这不是唯一的方法。

使用pkg:igraph中函数get.edgelist的帮助页面中的示例:

> cbind( get.edgelist(g) , round( E(g)$weight, 3 ))
      [,1] [,2] [,3]   
 [1,] "a"  "b"  "0.342"
 [2,] "b"  "d"  "0.181"
 [3,] "b"  "e"  "0.403"
 [4,] "b"  "f"  "0.841"
 [5,] "d"  "f"  "0.997"
 [6,] "e"  "g"  "0.029"
 [7,] "a"  "h"  "0.17" 
 [8,] "b"  "j"  "0.69" 
 [9,] "g"  "j"  "0.422"

另一种选择是使用igraph包中的get.data.frame()

# create a random graph with weighted edges      
g <- erdos.renyi.game(5, 5/10, directed = TRUE)
E(g)$weight <- runif(length(E(g)), 1, 5)

# pull nodes and edge weights
get.data.frame(g)

   from to   weight
1     1  5 4.716679
2     2  1 4.119414
3     1  2 4.535791
4     2  5 2.486553
5     3  2 4.932118
6     5  2 3.353693
7     1  3 3.003062
8     2  3 3.350118
9     1  4 2.929069
10    2  4 4.929474
11    5  4 4.333134

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM