生成igraph中每个顶点的边缘权重列表

时间:2019-03-15 01:16:36

标签: r igraph

igraph函数:

nn.list <- adjacent_vertices(g, V(g))

为每个顶点输出相邻顶点的列表。

这非常有用。但是现在我需要一个包含边缘权重的类似列表。

例如,如果顶点600具有从597, 598, 599, 601找到的跟随的相邻顶点nn.list[[600]],我现在需要一个列表,其中条目600给出顶点{之间的边权重{1}}和每个相邻的顶点600

我可以使用for循环执行此操作-但速度很慢。我的网络大约有597, 598, 599, 601个节点和10^4个边缘。我正在寻找一种矢量化方法。 10^5中是否有内置函数可以帮助我做到这一点?有什么建议吗?

1 个答案:

答案 0 :(得分:0)

html2canvas(document.body).then(canvas => {
    console.log(canvas.toDataURL('image/png'));
}); 

如果要检索所有边的向量,请使用library(igraph) g<-make_empty_graph(directed = F) g<-add.vertices(g,c(10)) g<-add_edges(g,c(3,5)) g<-add_edges(g,c(4,5)) g<-set_edge_attr(graph = g,name="weight",index = E(g)[1],value = 0.3) g<-set_edge_attr(graph = g,name="weight",index = E(g)[2],value = 10) gedges<-E(g) gweights <- E(g)$weight as_adj(g) as_adj(g,attr="weight") as_adj(g) as_adj(g,attr="weight") as_adj(g,attr="weight", edges = T,sparse = F) ,如果要检索所有权重的向量,请使用E(g)

然后,由于您似乎需要E(g)$weight,因此可以使用adjacency matrix调整参数,直到获得所有想要的信息!