Skip to contents

Merge Knowledge Objects

Usage

# S3 method for class 'Knowledge'
kn1 + kn2

Arguments

kn1

A Knowledge object.

kn2

Another Knowledge object.

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