Merge Knowledge Objects
See also
Other knowledge functions:
add_exogenous(),
add_tier(),
add_to_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()
Examples
# Create two Knowledge objects
kn1 <- knowledge(
tier(
1 ~ V1,
2 ~ V2
),
V1 %-->% V2
)
kn2 <- knowledge(
tier(3 ~ V3),
V2 %!-->% V3
)
kn_merged <- kn1 + kn2
# Error paths
# Merging with conflicting tier information
kn1 <- knowledge(
tier(
1 ~ V1,
2 ~ V2
)
)
kn2 <- knowledge(
tier(3 ~ V2)
)
try(kn1 + kn2)
#> Error : Tier conflict detected for 1 variable:
#> - V2: kn1: 2, kn2: 3
kn2 <- knowledge(
tier(1 ~ V1 + V2)
)
try(kn1 + kn2)
#> Error : Tier conflict detected for 1 variable:
#> - V2: kn1: 2, kn2: 1
# Requried / forbidden violations
kn1 <- knowledge(
V1 %!-->% V2
)
kn2 <- knowledge(
V1 %-->% V2
)
try(kn1 + kn2)
#> Error : Edge(s) appear as both forbidden and required: V1 --> V2
