This class implements the data structure and methods for fuzzy sets.
Methods
Method new()
Creator for objects of class Set
Usage
Set$new(attributes, M = NULL, ...)
Arguments
attributes
(character vector) Names of the attributes that will be available in the fuzzy set.
M
(numeric vector or column Matrix
) Values (grades) to be assigned to the attributes.
...
key
= value
pairs, where the value value
is assigned to the key
attribute name.
Details
If M
is omitted and no pair key
= value
, the fuzzy set is the empty set. Later, one can use the assign
method to assign grades to any of its attributes.
Returns
An object of class Set
.
Assign grades to attributes in the set
Usage
Set$assign(attributes = c(), values = c(), ...)
Arguments
attributes
(character vector) Names of the attributes to assign a grade to.
values
(numeric vector) Grades to be assigned to the previous attributes
.
...
key
= value
pairs, where the value value
is assigned to the key
attribute name.
Details
One can use both of:
S$assign(A = 1, B = 0.3)
S$assign(attributes = c(A, B), values = c(1, 0.3))
.
Method [()
Get elements by index
Arguments
indices
(numeric, logical or character vector) The indices of the elements to return. It can be a vector of logicals where TRUE
elements are to be retained.
Returns
A Set
but with only the required elements.
Method cardinal()
Cardinal of the Set
Returns
the cardinal of the Set
, counted
as the sum of the degrees of each element.
Method get_vector()
Internal Matrix
Returns
The internal sparse Matrix
representation of the set.
Method get_attributes()
Attributes defined for the set
Returns
A character vector with the names of the attributes.
Number of attributes
Returns
The number of attributes that are defined for this fuzzy set.
Prints the set to console
Arguments
eol
(logical) If TRUE
, adds an end of line to the output.
Returns
A string with the elements of the set and their grades between brackets .
Method to_latex()
Write the set in LaTeX format
Usage
Set$to_latex(print = TRUE)
Arguments
print
(logical) Print to output?
Returns
The fuzzy set in LaTeX.
Method clone()
The objects of this class are cloneable with this method.
Arguments
deep
Whether to make a deep clone.
Examples
S <- Set$new(attributes = c("A", "B", "C"))
S$assign(A = 1)
print(S)
#> {A}
S$to_latex()
#> Note: You must include the following commands in you LaTeX document:
#> \usepackage{amsmath}\newcommand{\el}[2]{\ensuremath{^{#2\!\!}/{#1}}}
#> \left\{\mathrm{A}\right\}
S <- Set$new(c("A", "B", "C"), C = 1, B = 0.5)
S
#> {B [0.5], C}