| arc operations {bnlearn} | R Documentation |
Drop, add or set the direction of a directed or undirected arc (also known as edge).
# 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)
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 |
The set.arc() function operates in the following way:
if there is no arc between from and to, the arc
from -> to is added.
if there is an undirected arc between from and to, its
direction is set to from -> to.
if the arc to -> from is present,
it is reversed.
if the arc from -> to is present, no
action is taken.
The drop.arc() function operates in the following way:
if there is no arc between from and to, no action is
taken.
if there is a directed or an undirected arc between from and
to, it is dropped regardless of its direction.
The reverse.arc() function operates in the following way:
if there is no arc between from and to, it returns an
error.
if there is an undirected arc between from and to, it
returns an error.
if the arc to -> from is present, it
is reversed.
if the arc from -> to is present, it
is reversed.
The set.edge() function operates in the following way:
if there is no arc between from and to, the undirected
arc from - to is added.
if there is an undirected arc between from and to, no
action is taken.
if either the arc from -> to or the
arc to -> from are present, they are
replaced with the undirected arc from - to.
The drop.edge() function operates in the following way:
if there is no undirected arc between from and to, no
action is taken.
if there is an undirected arc between from and to, it
is removed.
if there is a directed arc between from and to, no
action is taken.
All functions return invisibly an updated copy of x.
Marco Scutari
data(learning.test) res = gs(learning.test) ## use debug = TRUE to get more information. set.arc(res, "A", "B") drop.arc(res, "A", "B") drop.edge(res, "A", "B") reverse.arc(res, "A", "D")