interval.graph: Convert Spell Data to Interval Graphs

View source: R/dataprep.R

interval.graphR 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.


sna documentation built on Feb. 16, 2023, 9:52 p.m.

Related to interval.graph in sna...