R: Utilities to manipulate graphs

graph utilities {bnlearn} | R Documentation

## Utilities to manipulate graphs

### Description

Check and manipulate graph-related properties of an object of class `bn`.

### Usage

    # check whether the graph is acyclic/completely directed.
    acyclic(x, directed = FALSE, debug = FALSE)
    directed(x)
    # check whether there is a path between two nodes.
    path.exists(x, from, to, direct = TRUE, underlying.graph = FALSE, debug = FALSE)
    # deprecated alias of path.exists().
    ## S4 method for signature 'bn'
    path(object, from, to, direct = TRUE, underlying.graph = FALSE,
        debug = FALSE)
    ## S4 method for signature 'bn.fit'
    path(object, from, to, direct = TRUE,
        underlying.graph = FALSE, debug = FALSE)
    # build the skeleton or a complete orientation of the graph.
    skeleton(x)
    pdag2dag(x, ordering)
    # build a subgraph spanning a subset of nodes.
    subgraph(x, nodes)

### Arguments

`x, object` | an object of class `bn`. `skeleton()`, `acyclic()`, `directed()`, `path.exixsts()` and `path()` also accept objects of class `bn.fit`.
`from` | a character string, the label of a node.
`to` | a character string, the label of a node (different from `from`).
`direct` | a boolean value. If `FALSE` ignore any arc between `from` and `to` when looking for a path.
`underlying.graph` | a boolean value. If `TRUE` the underlying undirected graph is used instead of the (directed) one from the `x` argument.
`ordering` | the labels of all the nodes in the graph; their order is the node ordering used to set the direction of undirected arcs.
`nodes` | the labels of the nodes that induce the subgraph.
`directed` | a boolean value. If `TRUE` only completely directed cycles are considered; otherwise undirected arcs will also be considered and treated as arcs present in both directions.
`debug` | a boolean value. If `TRUE` a lot of debugging output is printed; otherwise the function is completely silent.

### Value

`acyclic()`, `path()` and `directed()` return a boolean value.
`skeleton()`, `pdag2dag()` and `subgraph()` return an object of class `bn`.

### Author(s)

Marco Scutari

### References

Bang-Jensen J, Gutin G (2009). Digraphs: Theory, Algorithms and Applications. Springer, 2nd edition.

### Examples

    data(learning.test)
    res = gs(learning.test)

    acyclic(res)
    directed(res)
    res = pdag2dag(res, ordering = LETTERS[1:6])
    res
    directed(res)
    skeleton(res)

[Package bnlearn version 4.6 Index]