R: Convert Spell Data to Interval Graphs

interval.graph {sna} | R Documentation

## Convert Spell Data to Interval Graphs

### Description

Constructs one or more interval graphs (and exchangeability vectors) from a set of spells.

### Usage

    interval.graph(slist, type="simple", diag=FALSE)

### Arguments

`slist` | A spell list. This must consist of an nxmx3 array, with n being the number of actors, m being the maximum number of spells (one per row) and with the three columns of the last dimension containing a (categorical) spell type code, the time of spell onset (any units), and the time of spell termination (same units), respectively.
`type` | One of “simple”, “overlap”, “fracxy”, “fracyx”, or “jntfrac”.
`diag` | Include the dyadic entries?

### Details

Given some ordering dimension T (usually time), a “spell” is defined as the interval between a specified onset and a specified termination (with onset preceding the termination). An interval graph, then, on spell set V, is G=\{V,E\}, where {i,j} in E iff there exists some point e \in T such that t \in i and t \in j. In more prosaic terms, an interval graph on a given spell set has each spell as a vertex, with vertices adjacent iff they overlap. Such structures are useful for quantifying life history data (where spells might represent marriages, periods of child custody/co-residence, periods of employment, etc.), organizational history data (where spells might reflect periods of strategic alliances, participation in a particular product market, etc.), task scheduling (with spells representing the dedication of a particular resource to a given task), etc. By giving complex historical data a graphic representation, it is possible to easily perform a range of analyses which would otherwise be difficult and/or impossible (see Butts and Pixley (2004) for examples).

In addition to the simple interval graph (described above), `interval.graph` can also generate valued interval graphs using a number of different edge definitions. This is controlled by the `type` argument, with edge values as follows:

1. simple: dichotomous coding based on simple overlap (i.e., (x,y)=1 iff x overlaps y)

2. overlap: edge value equals the total magnitude of the overlap between spells

3. fracxy: the (x,y) edge value equals the fraction of the duration of y which is covered by x

4. fracyx: the (x,y) edge value equals the fraction of the duration of x which is covered by y

5. jntfrac: edge value equals the total magnitude of the overlap between spells divided by the mean of the spells' lengths

Note that “simple,” “overlap,” and “jntfrac” are symmetric relations, while “fracxy” and “fracyx” are directed. As always, the specific edge type used should reflect the application to which the interval graph is being put.

### Value

A data frame containing:

`graph` | A graph stack containing the interval graphs
`exchange.list` | Matrix containing the vector of spell types associated with each interval graph

### Author(s)

Carter T. Butts buttsc@uci.edu

### References

Butts, C.T. and Pixley, J.E. (2004). “A Structural Approach to the Representation of Life History Data.” Journal of Mathematical Sociology, 28(2), 81-124.

West, D.B. (1996). Introduction to Graph Theory. Upper Saddle River, NJ: Prentice Hall.

[Package sna version 2.4 Index]