Learn R Programming

sna (version 0.41)

equiv.clust: Find Clusters of Positions Based on an Equivalence Relation

Description

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.

Usage

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]], ...)

Arguments

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 in package mva)
glabels
Labels for the various graphs in dat
plabels
Labels for the vertices of dat
...
Additional arguments to equiv.dist

Value

  • An object of class equiv.clust

Requires

mva

Details

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.

References

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.

See Also

sedist, blockmodel

Examples

Run this code
#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)

Run the code above in your browser using DataLab