View source: R/knowledge-verbs.R
| add_to_tier | R Documentation |
Add Variables to a Tier in Knowledge
add_to_tier(kn, ...)
kn |
A |
... |
One or more two-sided formulas |
The updated Knowledge object.
Other knowledge functions:
+.Knowledge(),
add_exogenous(),
add_tier(),
add_vars(),
as_bnlearn_knowledge(),
as_pcalg_constraints(),
as_tetrad_knowledge(),
convert_tiers_to_forbidden(),
deparse_knowledge(),
forbid_edge(),
get_tiers(),
knowledge(),
knowledge_to_caugi(),
remove_edge(),
remove_tiers(),
remove_vars(),
reorder_tiers(),
reposition_tier(),
require_edge(),
seq_tiers(),
unfreeze()
data(tpc_example)
# create Knowledge object using verbs
kn1 <- knowledge() |>
add_vars(names(tpc_example)) |>
add_tier(child) |>
add_tier(old, after = child) |>
add_tier(youth, before = old) |>
add_to_tier(child ~ starts_with("child")) |>
add_to_tier(youth ~ starts_with("youth")) |>
add_to_tier(old ~ starts_with("oldage")) |>
require_edge(child_x1 ~ youth_x3) |>
forbid_edge(child_x2 ~ youth_x4) |>
add_exogenous(child_x1) # synonym: add_exo()
# set kn1 to frozen
# (meaning you cannot add variables to the Knowledge object anymore)
# this is to get a true on the identical check
kn1$frozen <- TRUE
# create identical Knowledge object using DSL
kn2 <- knowledge(
tpc_example,
tier(
child ~ starts_with("child"),
youth ~ starts_with("youth"),
old ~ starts_with("oldage")
),
child_x1 %-->% youth_x3,
child_x2 %!-->% youth_x4,
exo(child_x1) # synonym: exogenous()
)
print(identical(kn1, kn2))
# cannot require an edge against tier direction
try(
kn1 |> require_edge(oldage_x6 ~ child_x1)
)
# cannot forbid and require same edge
try(
kn1 |> forbid_edge(child_x1 ~ youth_x3)
)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.