Returns the set difference of two objects inheriting from class Set
. If y
is missing
then the complement of x
from its universe is returned.
setcomplement(x, y, simplify = TRUE)# S3 method for Set
setcomplement(x, y, simplify = TRUE)
# S3 method for Interval
setcomplement(x, y, simplify = TRUE)
# S3 method for FuzzySet
setcomplement(x, y, simplify = TRUE)
# S3 method for ConditionalSet
setcomplement(x, y, simplify = TRUE)
# S3 method for Reals
setcomplement(x, y, simplify = TRUE)
# S3 method for Rationals
setcomplement(x, y, simplify = TRUE)
# S3 method for Integers
setcomplement(x, y, simplify = TRUE)
# S3 method for ComplementSet
setcomplement(x, y, simplify = TRUE)
# S3 method for Set
-(x, y)
Set
logical, if TRUE
(default) returns the result in its simplest form, usually a
Set
or UnionSet, otherwise a ComplementSet
.
An object inheriting from Set
containing the set difference of elements in x
and y
.
The difference of two sets,
The set difference of two ConditionalSets is defined by combining their defining functions by a negated
'and', !&
, operator. See examples.
The complement of fuzzy and crisp sets first coerces fuzzy sets to crisp sets by finding their support.
Other operators:
powerset()
,
setintersect()
,
setpower()
,
setproduct()
,
setsymdiff()
,
setunion()
# NOT RUN {
# absolute complement
setcomplement(Set$new(1, 2, 3, universe = Reals$new()))
setcomplement(Set$new(1, 2, universe = Set$new(1, 2, 3, 4, 5)))
# complement of two sets
Set$new(-2:4) - Set$new(2:5)
setcomplement(Set$new(1, 4, "a"), Set$new("a", 6))
# complement of two intervals
Interval$new(1, 10) - Interval$new(5, 15)
Interval$new(1, 10) - Interval$new(-15, 15)
Interval$new(1, 10) - Interval$new(-1, 2)
# complement of mixed set types
Set$new(1:10) - Interval$new(5, 15)
Set$new(5, 7) - Tuple$new(6, 8, 7)
# FuzzySet-Set returns a FuzzySet
FuzzySet$new(1, 0.1, 2, 0.5) - Set$new(2:5)
# Set-FuzzySet returns a Set
Set$new(2:5) - FuzzySet$new(1, 0.1, 2, 0.5)
# complement of conditional sets
ConditionalSet$new(function(x, y, simplify = TRUE) x >= y) -
ConditionalSet$new(function(x, y, simplify = TRUE) x == y)
# complement of special sets
Reals$new() - NegReals$new()
Rationals$new() - PosRationals$new()
Integers$new() - PosIntegers$new()
# }
Run the code above in your browser using DataLab