intersection {BaseSet} | R Documentation |
Intersection of two or more sets
Description
Given a TidySet creates a new set with the elements on the both of them following the logic defined on FUN.
Usage
intersection(object, sets, ...)
## S4 method for signature 'TidySet,character'
intersection(
object,
sets,
name = NULL,
FUN = "min",
keep = FALSE,
keep_relations = keep,
keep_elements = keep,
keep_sets = keep,
...
)
Arguments
object |
A TidySet object. |
sets |
The character of sets to be intersect. |
... |
Other named arguments passed to |
name |
The name of the new set. By defaults joins the sets with an ∪. |
FUN |
A function to be applied when performing the union. The standard intersection is the "min" function, but you can provide any other function that given a numeric vector returns a single number. |
keep |
A logical value if you want to keep originals sets. |
keep_relations |
A logical value if you wan to keep old relations. |
keep_elements |
A logical value if you wan to keep old elements. |
keep_sets |
A logical value if you wan to keep old sets. |
Details
#' The default uses the min
function following the standard fuzzy definition, but it can
be changed.
Value
A TidySet
object.
Methods (by class)
-
intersection(object = TidySet, sets = character)
: Applies the standard intersection
See Also
Other methods that create new sets:
complement_element()
,
complement_set()
,
subtract()
,
union()
Other methods:
TidySet-class
,
activate()
,
add_column()
,
add_relation()
,
arrange.TidySet()
,
cartesian()
,
complement_element()
,
complement_set()
,
complement()
,
element_size()
,
elements()
,
filter.TidySet()
,
group_by.TidySet()
,
group()
,
incidence()
,
is.fuzzy()
,
is_nested()
,
move_to()
,
mutate.TidySet()
,
nElements()
,
nRelations()
,
nSets()
,
name_elements<-()
,
name_sets<-()
,
name_sets()
,
power_set()
,
pull.TidySet()
,
relations()
,
remove_column()
,
remove_element()
,
remove_relation()
,
remove_set()
,
rename_elements()
,
rename_set()
,
select.TidySet()
,
set_size()
,
sets()
,
subtract()
,
union()
Examples
rel <- data.frame(
sets = c(rep("A", 5), "B"),
elements = c("a", "b", "c", "d", "f", "f")
)
TS <- tidySet(rel)
intersection(TS, c("A", "B")) # Default Name
intersection(TS, c("A", "B"), "C") # Set the name
# Fuzzy set
rel <- data.frame(
sets = c(rep("A", 5), "B"),
elements = c("a", "b", "c", "d", "f", "f"),
fuzzy = runif(6)
)
TS2 <- tidySet(rel)
intersection(TS2, c("A", "B"), "C")
intersection(TS2, c("A", "B"), "C", FUN = function(x){max(sqrt(x))})