Filters RR intervals to remove physiologically implausible values based on minimum and maximum thresholds. This is typically the first step in RR interval preprocessing.

filter_physiological_rr(rr_intervals, min_rr = 272, max_rr = 2000)

Arguments

rr_intervals

Numeric vector of RR intervals in milliseconds

min_rr

Minimum physiologically plausible RR interval in milliseconds. Default is 272 ms (equivalent to ~220 bpm)

max_rr

Maximum physiologically plausible RR interval in milliseconds. Default is 2000 ms (equivalent to ~30 bpm)

Value

A logical vector of the same length as rr_intervals, where TRUE indicates the RR interval is within physiological bounds

Details

This function applies basic physiological constraints to RR intervals:

  • Values below min_rr are considered too fast (unrealistic heart rates)

  • Values above max_rr are considered too slow (unrealistic heart rates)

  • The default range corresponds to heart rates between 30-220 bpm

Examples

if (FALSE) { # \dontrun{
rr_data <- c(800, 850, 200, 900, 2500, 820)  # Some with artifacts
valid_mask <- filter_physiological_rr(rr_data)
clean_rr <- rr_data[valid_mask]
} # }