Evaluates all cut expressions once and caches results to avoid
redundant evaluation. Much faster than evaluating repeatedly.
Usage
evaluate_cuts_once(confs, df, details = FALSE)
Arguments
- confs
Character vector of cut expressions.
- df
Data frame to evaluate expressions against.
- details
Logical. Print details during execution.
Value
List with:
evaluations: List of evaluated vectors (logical TRUE/FALSE) for each cut
is_valid: Logical vector indicating which cuts produced >1 unique value
has_error: Logical vector indicating which cuts failed to evaluate
Details
This replaces multiple eval(parse()) calls scattered throughout get_FSdata.
By caching results, we avoid:
Repeated parsing of expressions
Repeated evaluation on dataframe
Redundant uniqueness checks