Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

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=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

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

Tools for Social Network Analysis

v2.6
GPL (>= 2)
Authors
Carter T. Butts [aut, cre, cph]
Initial release
2020-10-5

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.