R: Find a Matrix of Distances Between Positions Based on...

sedist {sna} | R Documentation

## Find a Matrix of Distances Between Positions Based on Structural Equivalence

### Description

`sedist` uses the graphs indicated by `g` in `dat` to assess the extent to which each vertex is structurally equivalent; `joint.analysis` determines whether this analysis is simultaneous, and `method` determines the measure of approximate equivalence which is used.

### Usage

    sedist(dat, g=c(1:dim(dat)[1]), method="hamming",
        joint.analysis=FALSE, mode="digraph", diag=FALSE, code.diss=FALSE)

### Arguments

`dat` | a graph or set thereof.
`g` | a vector indicating which elements of `dat` should be examined.
`method` | one of `"correlation"`, `"euclidean"`, `"hamming"`, or `"gamma"`.
`joint.analysis` | should equivalence be assessed across all networks jointly (`TRUE`), or individually within each (`FALSE`)?
`mode` | `"digraph"` for directed data, otherwise `"graph"`.
`diag` | boolean indicating whether diagonal entries (loops) should be treated as meaningful data.
`code.diss` | reverse-code the raw comparison values.

### Details

`sedist` provides a basic tool for assessing the (approximate) structural equivalence of actors. (Two vertices i and j are said to be structurally equivalent if i->k iff j->k for all k.) SE similarity/difference scores are computed by comparing vertex rows and columns using the measure indicated by `method`:

1. correlation: the product-moment correlation

2. euclidean: the euclidean distance

3. hamming: the Hamming distance

4. gamma: the gamma correlation

Once these similarities/differences are calculated, the results can be used with a clustering routine (such as `equiv.clust`) or an MDS (such as `cmdscale`).

### Value

A matrix of similarity/difference scores

### Note

Be careful to verify that you have computed what you meant to compute, with respect to similarities/differences. Also, note that (despite its popularity) the product-moment correlation can give rather strange results in some cases.

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

`equiv.clust`, `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

    #Get SE distances
    g.se<-sedist(g)

    #Plot a metric MDS of vertex positions in two dimensions
    plot(cmdscale(as.dist(g.se)))

[Package sna version 2.7 Index]