## ----include = FALSE-------------------------------------------------------------------------------------------------- knitr::opts_chunk$set( collapse = TRUE, comment = "#>" ) # Adjusting options to display wide R output old <- options(width = 120) ## ----setup------------------------------------------------------------------------------------------------------------ library(PCBN) ## --------------------------------------------------------------------------------------------------------------------- DAG = create_empty_DAG(6) DAG = bnlearn::set.arc(DAG, 'U1', 'U5') DAG = bnlearn::set.arc(DAG, 'U2', 'U5') DAG = bnlearn::set.arc(DAG, 'U3', 'U5') DAG = bnlearn::set.arc(DAG, 'U4', 'U5') DAG = bnlearn::set.arc(DAG, 'U1', 'U6') DAG = bnlearn::set.arc(DAG, 'U2', 'U6') DAG = bnlearn::set.arc(DAG, 'U5', 'U6') ## ----fig.height=8, fig.width=8---------------------------------------------------------------------------------------- DAG |> bnlearn::as.igraph() |> igraph::plot.igraph(size = 10, label.cex = 1, layout = igraph::layout_as_tree ) ## --------------------------------------------------------------------------------------------------------------------- find_B_sets_v(DAG, v = 'U5') ## --------------------------------------------------------------------------------------------------------------------- B_sets = find_B_sets(DAG) B_sets$B_sets ## --------------------------------------------------------------------------------------------------------------------- DAG = create_empty_DAG(5) DAG = bnlearn::set.arc(DAG, 'U1', 'U3') DAG = bnlearn::set.arc(DAG, 'U2', 'U3') DAG = bnlearn::set.arc(DAG, 'U1', 'U4') DAG = bnlearn::set.arc(DAG, 'U3', 'U4') DAG = bnlearn::set.arc(DAG, 'U2', 'U5') DAG = bnlearn::set.arc(DAG, 'U3', 'U5') ## ----fig.height=6, fig.width=6---------------------------------------------------------------------------------------- DAG |> bnlearn::as.igraph() |> igraph::plot.igraph() ## --------------------------------------------------------------------------------------------------------------------- find_B_sets_v(DAG, v = 'U3') ## --------------------------------------------------------------------------------------------------------------------- find_B_sets_v(DAG, v = 'U3') |> B_sets_are_increasing() ## --------------------------------------------------------------------------------------------------------------------- has_interfering_vstrucs(DAG) ## ----results = "kable"------------------------------------------------------------------------------------------------ find_B_sets_v(DAG, v = 'U3') |> find_interfering_v_from_B_sets() |> print() ## --------------------------------------------------------------------------------------------------------------------- DAG = bnlearn::set.arc(DAG, 'U1', 'U5') has_interfering_vstrucs(DAG) ## --------------------------------------------------------------------------------------------------------------------- find_B_sets_v(DAG, v = 'U3') ## --------------------------------------------------------------------------------------------------------------------- find_B_sets_v(DAG, v = 'U3') |> B_sets_cut_increments() ## --------------------------------------------------------------------------------------------------------------------- B_sets_unique = find_B_sets_v(DAG, v = 'U3') |> B_sets_make_unique() print(B_sets_unique) ## --------------------------------------------------------------------------------------------------------------------- B_sets_cut_increments(B_sets_unique) ## ----------------------------------------------------------------------------- # Setting back the options to what they were before (following CRAN's policy) options(old)