label.propagation.community      package:igraph      R Documentation

_F_i_n_d_i_n_g _c_o_m_m_u_n_i_t_i_e_s _b_a_s_e_d _o_n _p_r_o_p_a_g_a_t_i_n_g _l_a_b_e_l_s

_D_e_s_c_r_i_p_t_i_o_n:

     This is a fast, nearly linear time algorithm for detecting
     community structure in networks. In works by labeling the vertices
     with unique labels and then updating the labels by majority voting
     in the neighborhood of the vertex.

_U_s_a_g_e:

     label.propagation.community (graph, weights = NULL,
                 initial = NULL, fixed = NULL)

_A_r_g_u_m_e_n_t_s:

   graph: The input graph, should be undirected to make sense.

 weights: An optional weight vector. It should contain a positive
          weight for all the edges. The 'weight' edge attribute is used
          if present. Supply ''NA'' here if you want to ignore the
          'weight' edge attribute.

 initial: The initial state. If 'NULL', every vertex will have a
          different label at the beginning. Otherwise it must be a
          vector with an entry for each vertex. Non-negative values
          denote different labels, negative entries denote vertices
          without labels.

   fixed: Logical vector denoting which labels are fixed. Of course
          this makes sense only if you provided an initial state,
          otherwise this element will be ignored. Also note that
          vertices without labels cannot be fixed.

_D_e_t_a_i_l_s:

     This function implements the community detection method described
     in: Raghavan, U.N. and Albert, R. and Kumara, S.: Near linear time
     algorithm to detect community structures in large-scale networks.
     Phys Rev E 76, 036106. (2007). This version extends the original
     method by the ability to take edge weights into consideration and
     also by allowing some labels to be fixed.

     From the abstract of the paper: "In our algorithm every node is
     initialized with a unique label and at every step each node adopts
     the label that most of its neighbors currently have. In this
     iterative process densely connected groups of  nodes form a
     consensus on a unique label to form communities."

_V_a_l_u_e:

     A numeric vector giving the final label (=community) of each
     vertex.

_A_u_t_h_o_r(_s):

     Tamas Nepusz ntamas@rmki.kfki.hu for the C implementation, Gabor
     Csardi Gabor.Csardi@unil.ch for this manual page.

_R_e_f_e_r_e_n_c_e_s:

     Raghavan, U.N. and Albert, R. and Kumara, S.: Near linear time
     algorithm to detect community structures in large-scale networks.
     _Phys Rev E_ 76, 036106. (2007)

_S_e_e _A_l_s_o:

     'fastgreedy.community', 'walktrap.community' and
     'spinglass.community' for other community detection methods.

_E_x_a_m_p_l_e_s:

       g <- erdos.renyi.game(10, 5/10) %du% erdos.renyi.game(9, 5/9)
       g <- add.edges(g, c(0, 11))
       label.propagation.community(g)

