Find the Markov blanket for specified variables in a DAG. The Markov blanket includes parents, children, and parents of children (co-parents).
Value
A tibble with columns:
node
: The nodeblanket
: String representation of Markov blanket nodesblanket_vars
: List column containing Markov blanket nodesblanket_size
: Size of the Markov blanket
Examples
library(ggdag)
dag <- dagify(
y ~ x + z,
x ~ w,
z ~ w
)
query_markov_blanket(dag)
#> # A tibble: 4 × 4
#> node blanket blanket_vars blanket_size
#> <chr> <chr> <list> <int>
#> 1 w {x, z} <chr [2]> 2
#> 2 x {w, y, z} <chr [3]> 3
#> 3 y {x, z} <chr [2]> 2
#> 4 z {w, x, y} <chr [3]> 3
query_markov_blanket(dag, .var = "x")
#> # A tibble: 1 × 4
#> node blanket blanket_vars blanket_size
#> <chr> <chr> <list> <int>
#> 1 x {w, y, z} <chr [3]> 3