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

Reply via email to