Evaluate a formula

Share:

Description

When given a Boolean formula (see details) and a data.frame of cases and fuzzy set score for conditions, computes for each case the score of the membership in the set described by the formula

Usage

1

Arguments

data

A data frame where the rows represent cases and the columns the sets. Column names must be as in the formula.

formula

A string, list of strings or function representing a Boolean formula in disjunctive normal form

Details

If formula is a function, it must take a data.frame and return a vector.

If formula is a string or list of strings, the following conventions hold: Set names must be capitalized in the formula and the data; if they are lowercase, they are interpreted as the negation of the set. If formula is a string, logical 'or' is expressed as a '+', and logical 'and' as a '*'. If formula is a list of strings, the strings are assumed to be the dosjuncts and are concatenated with '+'. The formula must be in disjunctive normal form, i.e. it must be a disjunction of conjunctions of elementary or negated elementary sets. Example: A*b*C + a*B

Value

the fuzzy set score of the set described by the formula for each case in the data

Examples

1
2
3
require(QCAGUI)
data(d.urban)
evaluate_dnf(d.urban, "MLC*frb + CP")