Skip to contents

A data frame containing a simulated RR interval (RRi) signal generated using the dual-logistic model as described by Castillo-Aguilar et al. (2025). The data are produced by first computing a theoretical RRi curve based on specified model parameters, then adding Gaussian noise to mimic natural variability, and finally introducing ectopic beats by modifying 5% of the data points (multiplying by a factor of 0.3 or 1.7). This simulated dataset is intended for demonstrating and testing the preprocessing and modeling functions provided in the CardioCurveR package.

Usage

sim_RRi

Format

A data frame with n rows and 2 variables:

time

A numeric vector of time points (in seconds).

RRi_simulated

A numeric vector of simulated RR interval values (in milliseconds), including added noise and simulated ectopic beats.

Source

Simulated data generated using the dual-logistic model and random noise.

Details

The dual-logistic model is defined as:

$$ RRi(t) = \alpha + \frac{\beta}{1 + \exp\{\lambda (t - \tau)\}} + \frac{-c \cdot \beta}{1 + \exp\{\phi (t - \tau - \delta)\}}, $$

where \(\alpha\) is the baseline RRi level, \(\beta\) controls the amplitude of the drop, \(\lambda\) and \(\tau\) define the drop phase, and \(c\), \(\phi\), and \(\delta\) govern the recovery.

References

Castillo-Aguilar, et al. (2025). Enhancing Cardiovascular Monitoring: A Non-linear Model for Characterizing RR Interval Fluctuations in Exercise and Recovery. Scientific Reports, 15(1), 8628.

Examples


data(sim_RRi)

head(sim_RRi)
#>   time RRi_simulated
#> 1 0.00          1312
#> 2 0.01           788
#> 3 0.02           878
#> 4 0.03           804
#> 5 0.04           806
#> 6 0.05           886

# Plot tha data
library(ggplot2)

ggplot(sim_RRi, aes(time, RRi_simulated)) +
geom_line(linewidth = 1/4, col = "purple") +
labs(x = "Time (s)", y = "RRi (ms)",
     title = "Simulated RRi Signal with Ectopic Beats") +
theme_minimal()