igraph-help
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [igraph] clustering coefficient in bipartite network


From: Simone Gabbriellini
Subject: Re: [igraph] clustering coefficient in bipartite network
Date: Fri, 26 Nov 2010 12:10:38 +0100

HI Gabor,

thanks very much, yes that is the right direction for me! 

what I have to reproduce is, according to Latapy:
 
for each bottom node v:
        for each bottom node u, 2-dist-neighbor of v:
                 find the number of (shared top nodes of u and v) / (total top 
nodes neighbors of u AND v)

then to find the local clustering of v, I have to average the list of values 
obtained.

and conversely for top nodes... it's a bit tricky for me with R... 

thanks a lot,
simone

Il giorno 26/nov/2010, alle ore 11.34, Gábor Csárdi ha scritto:

> Hi Simone,
> 
> a couple of comments.
> 
> On Thu, Nov 25, 2010 at 5:22 PM, Simone Gabbriellini
> <address@hidden> wrote:
>> Hello List,
>> 
>> I am trying to reproduce the clustering measures detailed in Latapy et al. 
>> Social Networks, 30 (2008).
>> 
>> I attempted successfully to reproduce the ccN(G) clustering, which is 
>> basically an extension for bipartite networks of the global transitivity 
>> measure.
>> 
>> I am stuck with the cc. measure of clustering coefficient, an extension of 
>> local transitivity for bipartite network - a reprise of what Borgatti and 
>> Everett have already suggested in 1997.
>> 
>> I have to find, for each distance-2 neighbors of a node (which are still 
>> nodes of the same set), how many nodes of the other set they have in common.
>> 
>> This is not all of what is needed to implement this measure, but it would be 
>> a great step for me...
>> 
>> In order to find distance-2 neighbors for each node, I can use a partition, 
>> as Tamas suggested in a previous thread.
>> 
>> V(g)[type==FALSE]$neibi<-neighborhood(bipartite.projection(g)[[1]], 1)
>> 
>> V(g)[type==TRUE]$neibi<-neighborhood(bipartite.projection(g)[[2]], 1)
> 
> it is actually better to use vertex names to be sure that you assign
> the second neighbors to the right vertices. While your solution works
> if the order of the vertices is kept in the projections, this is not
> documented for bipartite.projection, so you cannot take it for
> granted.
> 
> Anyway, I think an easier way to get the second neighbors is to simply
> subtract the 1-neighborhood from the 1-2-neighborhood, this works for
> bipartite graphs.
> 
> nei12 <- neighborhood(g, 2)
> nei1 <- neighborhood(g, 1)
> nei2 <- mapply(setdiff, nei12, nei1)
> 
>> While in order to find neighbors in the bipartite, I can simply use:
>> 
>> V(g)$nei<-neighborhood(g, 1)
>> 
>> now, how can I confront a node with every nodes listed in its neibi 
>> attribute in order to find if there are duplicates in each nei attributes? 
>> this is the hardest part I cannot solve.
> 
> If you have two numeric or character vectors, 'v1' and 'v2', then
> 'intersection(v1, v2)' treats them as sets and gives a vector that is
> their intersection. Is this what you need?
> 
> G.
> 
>> any help more than welcome!
>> 
>> thanks in advance,
>> Simone
>> _______________________________________________
>> igraph-help mailing list
>> address@hidden
>> http://lists.nongnu.org/mailman/listinfo/igraph-help
>> 
> 
> 
> 
> -- 
> Gabor Csardi <address@hidden>     UNIL DGM
> 
> _______________________________________________
> igraph-help mailing list
> address@hidden
> http://lists.nongnu.org/mailman/listinfo/igraph-help




reply via email to

[Prev in Thread] Current Thread [Next in Thread]