No, it won't take a long time. This is in fact the fastest solution, both in practice, and also optimal in terms of time complexity. E.g.
g <- graph.ring(10) V(g)$w <- 1:10 el <- get.edgelist(g, names=FALSE) E(g)$w <- V(g)$w[el[,1]] * V(g)$w[el[,2]] plot(g, edge.label=E(g)$w, vertex.label=V(g)$w) G. On Thu, May 8, 2014 at 4:57 PM, Wang, Jing <[email protected]>wrote: > Hi Gabor, > > Thank you for your response! Indexing the vertex attributes for each > edge will take a long time. Do you have any efficient way to index vertex > attributes? > > Thanks, > Jing > > From: Gábor Csárdi <[email protected]> > Reply-To: Help for igraph users <[email protected]> > Date: Thursday, May 8, 2014 at 3:52 PM > To: Help for igraph users <[email protected]> > Subject: Re: [igraph] calculate edge weight based on node weight > > Use get.edgelist() and then index your vertex attributes with the two > columns it returns. Kinda hacky, but igraph does not really have a good > language/syntax for manipulating attributes. > > Gabor > > > On Thu, May 8, 2014 at 4:46 PM, Wang, Jing <[email protected]>wrote: > >> Dear Sir/Madam, >> >> If I have the node weights for a network and want to calculate the edge >> weights based on the weights of two nodes in each edge, how can I calculate >> it? >> >> Thanks, >> >> _______________________________________________ >> igraph-help mailing list >> [email protected] >> https://lists.nongnu.org/mailman/listinfo/igraph-help >> >> > > _______________________________________________ > igraph-help mailing list > [email protected] > https://lists.nongnu.org/mailman/listinfo/igraph-help > >
_______________________________________________ igraph-help mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/igraph-help
