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

View source: R/roles.R

equiv.clustR Documentation

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=NULL, equiv.dist=NULL, equiv.fun="sedist",
   method="hamming", mode="digraph", diag=FALSE, 
   cluster.method="complete", glabels=NULL, plabels=NULL, ...)

Arguments

dat

one or more graphs.

g

the elements of dat to use in clustering the vertices; by default, all structures are used.

equiv.dist

a matrix of distances, by which vertices should be clustered. (Overrides equiv.fun.)

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.

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.fun (unless distances are supplied in 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.

Value

An object of class equiv.clust

Note

See sedist for an example of a distance function compatible with equiv.clust.

Author(s)

Carter T. Butts buttsc@uci.edu

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


#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)

sna documentation built on Sept. 11, 2024, 8:45 p.m.

Related to equiv.clust in sna...