Test whether two sets of nodes are m-separated given a
conditioning set in an ADMG.
M-separation generalizes d-separation to ADMGs (Acyclic Directed Mixed Graphs).
Arguments
- cg
A caugi object of class ADMG or DAG.
- x
A character vector of node names (the "source" set).
- y
A character vector of node names (the "target" set).
- z
A character vector of node names to condition on (default: empty).
Value
A logical value; TRUE if x and y are m-separated given z.
See also
Other queries:
ancestors(),
children(),
descendants(),
districts(),
edge_types(),
edges(),
exogenous(),
is_acyclic(),
is_admg(),
is_caugi(),
is_cpdag(),
is_dag(),
is_empty_caugi(),
is_pdag(),
is_ug(),
markov_blanket(),
neighbors(),
nodes(),
parents(),
same_nodes(),
spouses(),
subgraph()
Examples
# Classic confounding example
cg <- caugi(
L %-->% X,
X %-->% Y,
L %-->% Y,
class = "ADMG"
)
m_separated(cg, "X", "Y") # FALSE (connected via L)
#> [1] FALSE
m_separated(cg, "X", "Y", "L") # TRUE (L blocks the path)
#> [1] FALSE