triadCensus: Triad Functions

Description Usage Arguments Details Value Note Author(s) Examples

View source: R/triad.R

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

1
2
3
4
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

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

GOstats documentation built on Nov. 8, 2020, 8:06 p.m.