
Last chance! 50% off unlimited learning
Sale ends in
x
of predicates is more specific (or equal)
than y
with respect to vars
and specs
.The function takes two character vectors of predicates and determines whether
x
is more specific (or equal w.r.t. the specificity) than y
. The
specificity relation is fully determined with the values of the vars()
vector
and the specs()
incidence matrix that is encapsulated in the given fsets
object.
is.specific(x, y, fsets, vars = NULL, specs = NULL)
TRUE or FALSE (see description).
The first character vector of predicates.
The second character vector of predicates.
A valid instance of the fsets()
class such that all values in x
and y
can be found in colnames(fsets)
Deprecated parameter must be NULL
.
Deprecated parameter must be NULL
.
Michal Burda
Let x
and y
,
respectively. Function assumes that each vector x
and y
does not
contain two or more predicates with the same value of vars()
.
This function returns TRUE iff all of the following conditions hold:
for any
for any
perceive()
, pbld()
, fsets()
, vars()
, specs()
# prepare fsets object
v <- c(rep('a', 3), rep('b', 3), rep('c', 3), rep('d', 3))
s <- matrix(c(0,1,0, 0,0,0, 0,0,0, 0,0,0,
0,0,0, 0,0,0, 0,0,0, 0,0,0,
0,0,0, 0,0,0, 0,0,0, 0,0,0,
0,0,0, 0,1,0, 0,0,0, 0,0,0,
0,0,0, 0,0,0, 0,0,0, 0,0,0,
0,0,0, 0,0,0, 0,0,0, 0,0,0,
0,0,0, 0,0,0, 0,1,0, 0,0,0,
0,0,0, 0,0,0, 0,0,0, 0,0,0,
0,0,0, 0,0,0, 0,0,0, 0,0,0,
0,0,0, 0,0,0, 0,0,0, 0,1,0,
0,0,0, 0,0,0, 0,0,0, 0,0,0,
0,0,0, 0,0,0, 0,0,0, 0,0,0),
byrow=TRUE,
ncol=12)
m <- matrix(0, nrow=1, ncol=12)
colnames(m) <- paste(rep(c('VeSm', 'Sm', 'Bi'), times=4),
rep(c('a', 'b', 'c', 'd'), each=3),
sep='.')
f <- fsets(m, v, s)
# returns TRUE
is.specific(c('VeSm.a', 'Bi.c'),
c('VeSm.a', 'Bi.c'),
f)
# returns TRUE (x and y swapped return FALSE)
is.specific(c('VeSm.a', 'Bi.c', 'Sm.d'),
c('Sm.a', 'Bi.c', 'Sm.d'),
f)
# returns TRUE (x and y swapped return FALSE)
is.specific(c('VeSm.a', 'Bi.c', 'Sm.d'),
c('VeSm.a', 'Bi.c'),
f)
# returns TRUE (x and y swapped return FALSE)
is.specific(c('VeSm.a', 'Bi.c', 'Sm.d'),
character(),
f)
# returns FALSE
is.specific(c('Sm.a'), c('Bi.c'), f)
# returns FALSE
is.specific(c('VeSm.a', 'Sm.c'),
c('Sm.a', 'Bi.c'),
f)
Run the code above in your browser using DataLab