fsets | R Documentation |
The aim of the fsets
S3 class is to store several fuzzy sets in the
form of numeric matrix where columns represent fuzzy sets, rows are
elements from the universe, and therefore a value of i
-th row and j
-th
column is a membership degree of i
-th element of the universe to j
-th fuzzy
set. The fsets
object also stores the information about
the origin of the fuzzy sets as well as a relation of specificity among
them.
fsets(
x,
vars = rep(deparse(substitute(x)), ncol(x)),
specs = matrix(0, nrow = ncol(x), ncol = ncol(x))
)
vars(f)
vars(f) <- value
specs(f)
specs(f) <- value
x |
A matrix of membership degrees. Columns of the matrix represent fuzzy sets, colnames are names of the fuzzy sets (and must not be NULL). Rows of the matrix represent elements of the universe. |
vars |
A character vector that must correspond to the
columns of |
specs |
A square numeric matrix containing values from |
f |
An instance of S3 class |
value |
Attribute values to be set to the object. |
The fsets()
function is a constructor of an object of type fsets
.
Each object stores two attributes: vars
and specs
. The functions vars()
and specs()
). can be used to access these attributes.
It is assumed that the fuzzy sets
are derived from some raw variables, e.g. numeric vectors or factors. vars
attribute is a character vector of names of raw variables with size equal
to the number of fuzzy sets in fsets
object. It is then assumed that
two fuzzy sets with the same name in vars()
attribute are derived from
the same variable.
specs
attribute gives a square numeric matrix of size equal to the number
of fuzzy sets in fsets
. specs[i][j] == 1
if and only if the i
-th fuzzy
set is more specific than j
-th fuzzy set. Specificity of fuzzy sets means
the nestedness of fuzzy set: for instance, very small
is more specific than
small
; similarly, extremely big
is more specific than very big
; on the
other hand, very big
and extremely small
are incomparable. A necessary
condition for specificity is subsethood.
fsets()
returns an object of S3 class fsets
. vars()
returns
a vector of original variable names of the fsets
object. specs
returns the specificity matrix.
Michal Burda
fcut()
, lcut()
, is.specific()
# create a matrix of random membership degrees
m <- matrix(runif(30), ncol=5)
colnames(m) <- c('a1', 'a2', 'a12', 'b1', 'b2')
# create vars - first three (a1, a2, a3) and next two (b1, b2)
# fuzzy sets originate from the same variable
v <- c('a', 'a', 'a', 'b', 'b')
names(v) <- colnames(m)
# create specificity matrix - a1 and a2 are more specific than a12,
# the rest is incomparable
s <- matrix(c(0, 0, 1, 0, 0,
0, 0, 1, 0, 0,
0, 0, 0, 0, 0,
0, 0, 0, 0, 0,
0, 0, 0, 0, 0), byrow=TRUE, ncol=5)
colnames(s) <- colnames(m)
rownames(s) <- colnames(m)
# create a valid instance of the fsets class
o <- fsets(m, v, s)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.