triadCensus {GOstats} | R Documentation

## Triad Functions

### Description

These functions provide some tools for finding triads in an undirected graph. A triad is a clique of size 3. The function `triadCensus` returns a list of all triads.

### Usage

    triadCensus(graph)
    isTriad(x, y, z, elz, ely)
    reduce2Degreek(graph, k)
    enumPairs(iVec)

### Arguments

`graph` | An instance of the `graph` class.
`k` | An integer indicating the minimum degree wanted.
`x` | A node
`y` | A node
`z` | A node
`elz` | The edgelist for `z`
`ely` | The edgelist for `y`
`iVec` | A vector of unique values

### Details

`enumPairs` takes a vector as input and returns a list of length `choose(length(iVec),2)/2` containing all unordered pairs of elements.

`isTriad` takes three nodes as arguments. It is already known that `x` has edges to both `y` and `z` and we want to determine whether these are reciprocated. This is determined by examining `elz` for both `x` and `y` and then examining `ely` for both `x` and `z`.

`reduce2Degreek` is a function that takes an undirected graph as input and removes all nodes of degree less than `k`. This process is iterated until there are no nodes left (an error is thrown) or all nodes remaining have degree at least `k`. The resultant subgraph is returned. It is used here because to be in a triad all nodes must have degree 2 or more.

`triadCensus` makes use of the helper functions described above and finds all triads in the graph.

### Value

A list where each element is a triple indicating the members of the triad. Order is not important and all triads are reported in alphabetic order.

### Note

See the graph package, RBGL and Rgraphviz for more details and alternatives.

### Author(s)

R. Gentleman

### Examples

    ##---- Should be DIRECTLY executable !! ----
    ##-- ==>  Define data, use random,

[Package Contents]