equiv.clust {sna} | R Documentation |
equiv.clust
uses a definition of approximate equivalence (equiv.fun
) to form a hierarchical clustering of network positions. Where dat
consists of multiple relations, all specified relations are considered jointly in forming the equivalence clustering.
equiv.clust(dat, g=c(1:dim(dat)[1]), equiv.fun="sedist", method="hamming", mode="digraph", diag=FALSE, cluster.method="complete", glabels=dimnames(dat)[[1]][g], plabels=dimnames(dat)[[2]], ...)
dat |
A graph adjacency matrix, or stack thereof |
g |
The elements of dat to use in clustering the vertices; by default, all structures are used |
equiv.fun |
The distance function to use in clustering vertices (defaults to sedist ) |
method |
method parameter to be passed to equiv.fun |
mode |
``graph'' or ``digraph,'' as appropriate |
diag |
A boolean indicating whether or not matrix diagonals (loops) should be interpreted as useful data |
cluster.method |
The hierarchical clustering method to use (see hclust ) |
glabels |
Labels for the various graphs in dat |
plabels |
Labels for the vertices of dat |
... |
Additional arguments to equiv.dist |
This routine is essentially a joint front-end to hclust
and various positional distance functions, though it defaults to structural equivalence in particular. Taking the specified graphs as input, equiv.clust
computes the distances between all pairs of positions using equiv.dist
, and then performs a cluster analysis of the result. The return value is an object of class equiv.clust
, for which various secondary analysis methods exist.
An object of class equiv.clust
See sedist
for an example of a distance function compatible with equiv.clust
.
Carter T. Butts buttsc@uci.edu
Breiger, R.L.; Boorman, S.A.; and Arabie, P. (1975). ``An Algorithm for Clustering Relational Data with Applications to Social Network Analysis and Comparison with Multidimensional Scaling.'' Journal of Mathematical Psychology, 12, 328-383.
Burt, R.S. (1976). ``Positions in Networks.'' Social Forces, 55, 93-122.
Wasserman, S., and Faust, K. Social Network Analysis: Methods and Applications. Cambridge: Cambridge University Press.
#Create a random graph with _some_ edge structure g.p<-sapply(runif(20,0,1),rep,20) #Create a matrix of edge #probabilities g<-rgraph(20,tprob=g.p) #Draw from a Bernoulli graph #distribution #Cluster based on structural equivalence eq<-equiv.clust(g) plot(eq)