This is a function that implements a fundamental concept of fuzzy rough set theory which is
the positive region and the corresponding degree of dependency. The explanation about this concept can be seen
in B.IntroductionFuzzyRoughSets
.
1  BC.positive.reg.FRST(decision.table, fuzzyroughset)

decision.table 
a 
fuzzyroughset 
a 
In order to compute the function, we need to calculate the indiscernibility relation by executing BC.IND.relation.FRST
and the lower and upper approximations by calling BC.LU.approximation.FRST
.
A class "PositiveRegion"
containing the following components:
positive.freg
: a vector representing membership degrees to the fuzzy positive region for each index of objects.
degree.dependency
: a value expressing the degree of dependency.
type.model
: a string representing type of models. In this case, it is "FRST"
which means fuzzy rough set theory.
Lala Septem Riza
R. Jensen and Q. Shen, "New Approaches to FuzzyRough Feature Selection", IEEE Trans. on Fuzzy Systems, vol. 19, no. 4, p. 824  838 (2009).
BC.LU.approximation.FRST
, BC.IND.relation.FRST
, BC.IND.relation.RST
,
BC.LU.approximation.RST
, and BC.positive.reg.FRST
.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65  ###########################################################
##### 1. Example: Using a simple decision table containing
##### nominal values for the decision attribute
###########################################################
dt.ex1 < data.frame(c(0.4, 0.4, 0.3, 0.3, 0.2, 0.2),
c(0.3, 0.2, 0.4, 0.3, 0.3, 0),
c(0.5, 0.1, 0.3, 0, 0, 0),
c("no", "yes", "no", "yes", "yes", "no"))
colnames(dt.ex1) < c("a", "b", "c", "d")
decision.table < SF.asDecisionTable(dataset = dt.ex1, decision.attr = 4)
## let us consider the first and second attributes only as conditional attribute
condAttr < c(1, 2)
## let us consider the fourth attribute as decision attribute
decAttr < c(4)
#### Calculate fuzzy indiscernibility relation ####
control.ind < list(type.aggregation = c("t.tnorm", "lukasiewicz"),
type.relation = c("tolerance", "eq.1"))
control.dec < list(type.aggregation = c("crisp"), type.relation = "crisp")
IND.condAttr < BC.IND.relation.FRST(decision.table, attributes = condAttr,
control = control.ind)
IND.decAttr < BC.IND.relation.FRST(decision.table, attributes = decAttr,
control = control.dec)
#### Calculate fuzzy lower and upper approximation using type.LU :
#### "implicator.tnorm"
control < list(t.implicator = "lukasiewicz")
FRST.LU < BC.LU.approximation.FRST(decision.table, IND.condAttr, IND.decAttr,
type.LU = "implicator.tnorm", control = control)
#### Determine positive regions ####
res.1 < BC.positive.reg.FRST(decision.table, FRST.LU)
###########################################################
##### 2. Example: Using the housing decision table containing
##### continuous values for the decision attribute
###########################################################
## In this case, we are using the housing dataset containing 7 objects
data(RoughSetData)
decision.table < RoughSetData$housing7.dt
conditional.attr < c(1, 2)
decision.attr = c(14)
control.ind < list(type.aggregation = c("t.tnorm", "lukasiewicz"),
type.relation = c("tolerance", "eq.1"))
#### Calculate fuzzy indiscernibility relation ####
IND.condAttr < BC.IND.relation.FRST(decision.table, attributes = conditional.attr,
control = control.ind)
IND.decAttr < BC.IND.relation.FRST(decision.table, attributes = decision.attr,
control = control.ind)
#### Calculate fuzzy lower and upper approximation using type.LU :
#### "implicator.tnorm"
control < list(t.implicator = "lukasiewicz", t.tnorm = "lukasiewicz")
FRST.LU < BC.LU.approximation.FRST(decision.table, IND.condAttr, IND.decAttr,
type.LU = "implicator.tnorm", control = control)
#### Determine fuzzy regions ####
res.2 < BC.positive.reg.FRST(decision.table, FRST.LU)

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.
Please suggest features or report bugs with the GitHub issue tracker.
All documentation is copyright its authors; we didn't write any of that.