leading.eigenvector.community(graph, steps = vcount(graph), naive = FALSE)
leading.eigenvector.community.step (graph, fromhere = NULL,
membership = rep(0, vcount(graph)), community = 0, eigenvector = TRUE)
TRUE
then it simply considers both communities as separate
graphs and then creates modularity matrices for both commleading.eigenvector.community.step
. This will serve as a
starting point to take another step. This argument is ignored if it
is NULL
.leading.eigenvector.community
returns a named list with the
following members:
membership
member. This is a two-column matrix and each
line describes a merge of two communities, the first line is the
first merge and it creates community N
N
is the number of initial communities in the graph, the second line
creates community N+1
, etc.FALSE
B
, which is B=A-P
, A
being the adjacency matrix of
the (undirected)
network, and P
contains the probability that certain edges are
present according to the P[i,j]
element of P
is the probability that
there is an edge between vertices i
and j
in a random
network in which the degrees of all vertices are the same as in the
input graph.
The leading eigenvector method works by calculating the eigenvector
of the modularity matrix for the largest positive eigenvalue and
then separating vertices into two community based on the sign of
the corresponding element in the eigenvector. If all elements in
the eigenvector are of the same sign that means that the network
has no underlying comuunity structure.
Check Newman's paper to understand why this is a good method for
detecting community structure.modularity
, walktrap.community
,
edge.betweenness.community
,
fastgreedy.community
,
as.dendrogram
g <- graph.full(5) %du% graph.full(5) %du% graph.full(5)
g <- add.edges(g, c(0,5, 0,10, 5, 10))
leading.eigenvector.community(g)
lec <- leading.eigenvector.community.step(g)
lec$membership
# Try one more split
leading.eigenvector.community.step(g, fromhere=lec, community=0)
leading.eigenvector.community.step(g, fromhere=lec, community=1)
Run the code above in your browser using DataLab