Computes the closure of knowledge structures.

# S3 method for kstructure
closure(x, operation=c("union", "intersection"),...)
  # S3 method for kbase
closure(x, operation=c("union", "intersection"),...)
  # S3 method for kfamset
closure(x, operation=c("union", "intersection"),...)

Arguments

x

An R object of class kstructure, kbase, or kfamset.

operation

The set operation under which the closure is computed ("union" or "intersection").

...

Other arguments to be passed to methods.

Details

The closure method for objects of class kstructure, kbase, or kfamset performs the closure of a knowledge structure, base, or family of sets by computing the "union", "intersection", "complement", or symmetric difference of any two knowledge states. "union" is also used as a basis for the kspace function.

Note

The implementation of union is more efficient than the one in sets.

Value

An R object of the same class as x where each subset represents one knowledge state of the resulting knowledge structure.

References

Doignon, J.-P., Falmagne, J.-C. (1999) Knowledge Spaces. Heidelberg: Springer Verlag.

See also

Examples

kst <- kstructure(set(set("a"), set("a","b"), set("a","c"), set("d","e"), set("a","b","d","e"), set("a","c","d","e"), set("a","b","c","d","e"))) closure(kst, operation="union")
#> {{}, {"a"}, {"a", "b"}, {"a", "c"}, {"d", "e"}, {"a", "b", "c"}, {"a", #> "d", "e"}, {"a", "b", "d", "e"}, {"a", "c", "d", "e"}, {"a", "b", "c", #> "d", "e"}}