# Filtering data

From Rave Documentation

The default row state is "unfiltered". Each variable has an associated filter control:

- For continuous variables, the filter control defines an upper and lower limit on the range of the variable. Values within this range are considered unfiltered, variables outside this range are considered filtered.
- For discrete variables, the filter control defines a list of allowable values. Values that appear in this list are considered unfiltered, values not in this list are considered filtered.

(The important difference being that for continuous variables, filtering is defined by a single contiguous range of values, whereas for discrete variables filtering is completely general.)

Things to note:

- Rows are considered to be unfiltered unless they explicitly fall outside the range of a filtered variable. This means that missing data values are considered unfiltered.
- Filters for continuous variables use inequality constraints such that points exactly on the border are considered unfiltered.
- The function used to determine if values are filtered or not is named ravecalculatefilteredstate. See the source code of this function to see exactly how Rave enforces filters.