Learn R Programming

gRbase (version 1.7-5)

vpar: List of vertices and their parents for graph.

Description

Get list of vertices and their parents for graph.

Usage

vpar(object, getv = TRUE, forceCheck = TRUE) "vpar"(object, getv = TRUE, forceCheck = TRUE) "vpar"(object, getv = TRUE, forceCheck = TRUE)

Arguments

object
An object representing a graph. Valid objects are an adjacency matrix or as a graphNEL.
getv
The result is by default a list of vectors of the form (v, pa1, pa2, ... paN) where pa1, pa2, ... paN are the parents of v. If getv is FALSE then the vectors will have the form (pa1, pa2, ... paN).
forceCheck
Logical indicating if it should be checked that the object is a DAG.

Value

A list of vectors where each vector will have the form (v, pa1, pa2, ... paN) where pa1, pa2, ... paN are the parents of v.

See Also

dag ug

Examples

Run this code

## DAGs
dagMAT <- dag(~a:b:c+c:d:e, result="matrix")
dagNEL <- dag(~a:b:c+c:d:e, result="NEL")

vpar(dagMAT)
vpar(dagNEL)
vpar(dagMAT, getv=FALSE)
vpar(dagNEL, getv=FALSE)

## Undirected graphs
ugMAT <- ug(~a:b:c+c:d:e, result="matrix")
ugNEL <- ug(~a:b:c+c:d:e, result="NEL")

## Not run: 
# ## This will fail because the adjacency matrix is symmetric and the
# ## graphNEL has undirected edges
# vpar(ugMAT)
# vpar(ugNEL)
# ## End(Not run)

## When forceCheck is FALSE, it will not be detected that the graphs are undirected.
vpar(ugMAT, forceCheck=FALSE)
vpar(ugNEL, forceCheck=FALSE)

## Bidirected graphs
## This is, for graphNEL's, the same as working with bidirected edges:
if (require(graph)){
graph::edgemode(ugNEL)
graph::edgemode(ugNEL) <- "directed"
graph::edgemode(ugNEL)
vpar(ugNEL,FALSE)
}

Run the code above in your browser using DataLab