| Index | Topics |
| arc operations {bnlearn} | R Documentation |
Drop, add or set the direction of an arc or an edge
Description
Drop, add or set the direction of a directed or undirected arc (also known as edge).
Usage
# arc operations.
set.arc(x, from, to, check.cycles = TRUE, check.illegal = TRUE, debug = FALSE)
drop.arc(x, from, to, debug = FALSE)
reverse.arc(x, from, to, check.cycles = TRUE, check.illegal = TRUE, debug = FALSE)
# edge (i.e. undirected arc) operations
set.edge(x, from, to, check.cycles = TRUE, check.illegal = TRUE, debug = FALSE)
drop.edge(x, from, to, debug = FALSE)
Arguments
x |
an object of class |
from |
a character string, the label of a node. |
to |
a character string, the label of another node. |
check.cycles |
a boolean value. If |
check.illegal |
a boolean value. If |
debug |
a boolean value. If |
Details
The set.arc() function operates in the following way:
-
if there is no arc between
fromandto, the arcfrom\rightarrowtois added. -
if there is an undirected arc between
fromandto, its direction is set tofrom\rightarrowto. -
if the arc
to\rightarrowfromis present, it is reversed. -
if the arc
from\rightarrowtois present, no action is taken.
The drop.arc() function operates in the following way:
-
if there is no arc between
fromandto, no action is taken. -
if there is a directed or an undirected arc between
fromandto, it is dropped regardless of its direction.
The reverse.arc() function operates in the following way:
-
if there is no arc between
fromandto, it returns an error. -
if there is an undirected arc between
fromandto, it returns an error. -
if the arc
to\rightarrowfromis present, it is reversed. -
if the arc
from\rightarrowtois present, it is reversed.
The set.edge() function operates in the following way:
-
if there is no arc between
fromandto, the undirected arcfrom-tois added. -
if there is an undirected arc between
fromandto, no action is taken. -
if either the arc
from\rightarrowtoor the arcto\rightarrowfromare present, they are replaced with the undirected arcfrom-to.
The drop.edge() function operates in the following way:
-
if there is no undirected arc between
fromandto, no action is taken. -
if there is an undirected arc between
fromandto, it is removed. -
if there is a directed arc between
fromandto, no action is taken.
Value
All functions return invisibly an updated copy of x.
Author(s)
Marco Scutari
Examples
dag = cpdag(model2network("[A][C][F][B|A][D|A:C][E|B:F]"))
dag
## use debug = TRUE to get more information.
updated = set.arc(dag, "A", "B")
updated
updated = drop.arc(dag, "A", "B")
updated
updated = drop.edge(dag, "A", "B")
updated
updated = reverse.arc(dag, "A", "D")
updated
| Index | Topics |