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

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

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?

A data frame containing:

A graph stack containing the interval graphs

Matrix containing the vector of spell types associated with each interval graph

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 \(t \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:

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

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

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

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

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.

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.