Hi Tamas, thank you so much,it was so helpful
Regards, fatemeh ᐧ On Thu, Nov 27, 2014 at 1:36 PM, Tamás Nepusz <[email protected]> wrote: > Hi, > > 1. assign an edge weight of 1 to each edge > 2. Use contract.vertices with the membership vector of your community > structure to contract each community to a single vertex. Then simplify the > graph and tell igraph to sum the edge weights when it merges multiple edges > into a single one during simplification. > > 3. The edge weights in the contracted graph will tell you rhe number of > edges between the communities in the original graph. > > T. > > On 25 Nov 2014, at 21:22, Fatemeh a <[email protected]> wrote: > > Hi, > > I would appreciate if some one could help me to speed up this piece of > code : > > what I am trying to do is to calculate the number of edges on the boundary > of community S but it is really slow. > > numberofedge<-function(graph,community) > { > cs <- data.frame(combn(unique(membership(community)),2)) #----considering > a combination of communities two by two > cx <- sapply(cs, function(x) { #calculating edges in between two > communities > es<-E(graph)[V(graph)[membership(community)==x[1]] %--% > V(graph)[membership(community)==x[2]]] > length(es)}) > y=cbind(t(cs),cx) > i=1 > CS=array( data=0,dim = length(unique(membership(community)))) > while (i<length(y[,1])+1){ # calculating the edges on the boundary for > each community > CS[y[i,1]]=CS[y[i,1]]+y[i,3] > CS[y[i,2]]=CS[y[i,2]]+y[i,3] > i=i+1 > } > > > -- > regards > F..A > > _______________________________________________ > 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 > > -- regards F..A
_______________________________________________ igraph-help mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/igraph-help
