Expression
s are used to define filter logic for passing to a Dataset
Scanner. FieldExpression
s refer to columns in the Dataset
and are
compared to ScalarExpression
s using ComparisonExpression
s.
ComparisonExpression
s may be combined with AndExpression
or
OrExpression
and negated with NotExpression
. IsValidExpression
is
essentially is.na()
for Expression
s.
FieldExpression$create(name)
takes a string name as input. This string should
refer to a column in a Dataset
at the time it is evaluated, but you can
construct a FieldExpression
independently of any Dataset
.
ScalarExpression$create(x)
takes a scalar (length-1) R value as input.
ComparisonExpression$create(OP, e1, e2)
takes a string operator name
(e.g. "==", "!=", ">", etc.) and two Expression
objects.
AndExpression$create(e1, e2)
and OrExpression$create(e1, e2)
take
two Expression
objects, while NotExpression$create(e1)
and
IsValidExpression$create(e1)
take a single Expression
.