View source: R/knowledge-verbs.R
| add_vars | R Documentation |
Adds variables to the Knowledge object. If the object is
frozen, an error is thrown if any of the variables are not present in the
data frame provided to the object.
add_vars(kn, vars)
kn |
A |
vars |
A character vector of variable names to add. |
The updated Knowledge object.
Other knowledge functions:
+.Knowledge(),
add_exogenous(),
add_tier(),
add_to_tier(),
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.