Compares community structures using various metrics
This function assesses the distance between two community structures.
## S3 method for class 'communities': compare(comm1, comm2, method = c("vi", "nmi", "split.join", "rand", "adjusted.rand")) ## S3 method for class 'numeric': compare(comm1, comm2, method = c("vi", "nmi", "split.join", "rand", "adjusted.rand"))
communitiesobject containing a community structure; or a numeric vector, the membership vector of the first community structure. The membership vector should contain the community id of e
communitiesobject containing a community structure; or a numeric vector, the membership vector of the second community structure, in the same format as for the previous argument.
- Character scalar, the comparison method to use. Possible
viis the variation of information (VI) metric of Meila (2003), nmiis the normalized mutual information measure proposed by Danon et al. (2005)
- A real number.
Meila M: Comparing clusterings by the variation of information. In: Scholkopf B, Warmuth MK (eds.). Learning Theory and Kernel Machines: 16th Annual Conference on Computational Learning Theory and 7th Kernel Workshop, COLT/Kernel 2003, Washington, DC, USA. Lecture Notes in Computer Science, vol. 2777, Springer, 2003. ISBN: 978-3-540-40720-1.
Danon L, Diaz-Guilera A, Duch J, Arenas A: Comparing community structure identification. J Stat Mech P09008, 2005.
van Dongen S: Performance criteria for graph clustering and Markov cluster experiments. Technical Report INS-R0012, National Research Institute for Mathematics and Computer Science in the Netherlands, Amsterdam, May 2000. Rand WM: Objective criteria for the evaluation of clustering methods. J Am Stat Assoc 66(336):846-850, 1971.
Hubert L and Arabie P: Comparing partitions. Journal of Classification 2:193-218, 1985.
g <- graph.famous("Zachary") sg <- spinglass.community(g) le <- leading.eigenvector.community(g) compare(sg, le, method="rand") compare(membership(sg), membership(le))