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}