# smi: Segregation Matrix Index In netseg: Measures of Network Segregation and Homophily

## Description

Segregation Matrix Index due to Freshtman (1997). A measure of network segregation. Currently (and originally) supports only two groups.

## Usage

 ``` 1 2 3 4 5 6 7 8 9 10``` ```smi(object, ...) ## S3 method for class 'table' smi(object, normalize = TRUE, ...) ## S3 method for class 'igraph' smi(object, vattr, ...) ## Default S3 method: smi(object, ...) ```

## Arguments

 `object` R object, see Details for available methods `...` other arguments passed to/from other methods `normalize` logical, whether normalized values should be returned, defaults to `TRUE` `vattr` character, name of the node attribute designating groups

## Details

The Segregation Matrix Index (SMI) is calculated for every group separately. It compares the density within group to the density of between group ties of nodes belonging to that group.

Non-normalized version is the ratio of the within-group density to the between-group density, so vary between 0 and infinity. The normalized version varies between 0 and 1.

If `object` is a table it is interpreted as a mixing matrix. Two-dimensional table is interpreted as a contact layer. Three-dimensional table is interpreted as a full mixing matrix m[ghy] cross-classyfying all dyads, in which g and h correspond to group membership of ego and alter respectively. Layers y=1 and y=2 are assumed to be non-contact and contact layers respectively.

If `object` is of class "igraph" it is required to supply `vattr` with the name of the vertex attribute to calculate intermediate mixing matrix.

## Value

Numeric vector of length equal to the number of groups in `g` according to `vattr` with the values of SMI for the groups.

## References

Freshtman, M. (1997) "Cohesive Group Segregation Detection in a Social Network by the Segregation Matrix Index", Social Networks, 19:193–207

Other segregation measures: `assort()`, `coleman()`, `ei()`, `freeman()`, `gamix()`, `orwg()`, `ssi()`
 ```1 2``` ```# smi() needs a directed network smi( igraph::as.directed(WhiteKinship, "mutual"), "gender") ```