legal.path: Check if a 3-node-path is Legal

legal.pathR Documentation

Check if a 3-node-path is Legal

Description

Check if the path a--b--c is legal.

A 3-node path a--b--c is “legal” iff either b is a collider or a--b--c is a triangle.

Usage

legal.path(a, b, c, amat)

Arguments

a,b,c

(integer) positions in adjacency matrix of nodes a, b, and c, respectively.

amat

Adjacency matrix (coding 0,1,2,3 for no edge, circle, arrowhead, tail; e.g., amat[a,b] = 2 and amat[b,a] = 3 implies a -> b)

Value

TRUE if path is legal, otherwise FALSE.

Note

Prerequisite: a--b--c must be in a path (and this is not checked by legal.path()).

Author(s)

Markus Kalisch (kalisch@stat.math.ethz.ch)

Examples

amat <- matrix( c(0,1,1,0,0, 2,0,1,0,0, 2,2,0,2,1,
                  0,0,1,0,0, 0,0,2,0,0), 5,5)
legal.path(1,3,5, amat)
legal.path(1,2,3, amat)
legal.path(2,3,4, amat)

pcalg documentation built on Feb. 6, 2024, 3 p.m.