--- title: "cycleTrendR-overview" output: rmarkdown::html_vignette vignette: > %\VignetteIndexEntry{cycleTrendR-overview} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r, include = FALSE} knitr::opts_chunk$set( collapse = TRUE, comment = "#>" ) ``` ```{r setup} library(cycleTrendR) set.seed(1) ``` Introduction cycleTrendR provides a unified framework for analyzing time-series that contain both trend and cyclic components. It supports: LOESS, GAM, and GAMM trend estimation Automatic Fourier harmonic selection (AICc/BIC) Bootstrap confidence intervals (IID or MBB) Change-point detection Lomb–Scargle periodogram for irregular sampling Rolling-origin forecasting Publication-quality ggplot2 visualizations This vignette demonstrates the main workflows using simulated data. Simulated Example Data We simulate a noisy cyclic signal with irregular sampling: dates <- as.Date("2020-01-01") + cumsum(sample(1:3, 300, replace = TRUE)) signal <- sin(2*pi*as.numeric(dates)/20) + rnorm(300, 0, 0.3) LOESS Trend + Automatic Fourier Selection res_loess <- adaptive_cycle_trend_analysis( signal = signal, dates = dates, trendmethod = "loess", usefourier = TRUE, auto_fourier_select = TRUE, nboot = 50 ) res_loess$Plot$Trend GAM Trend res_gam <- adaptive_cycle_trend_analysis( signal = signal, dates = dates, trendmethod = "gam", usefourier = TRUE, nboot = 50 ) res_gam$Plot$Trend GAMM Trend with Random Effects group <- rep(letters[1:4], length.out = length(signal)) res_gamm <- adaptive_cycle_trend_analysis( signal = signal, dates = dates, trendmethod = "gam", use_gamm = TRUE, group_var = "subject", group_values = group, usefourier = FALSE, nboot = 20 ) res_gamm$Plot$Trend Irregular Sampling + Fourier + Lomb–Scargle Irregular sampling is detected automatically and the Lomb–Scargle periodogram is used: res_irreg <- adaptive_cycle_trend_analysis( signal = signal, dates = dates, trendmethod = "loess", usefourier = TRUE, auto_fourier_select = TRUE, nboot = 50 ) res_irreg$Plot$Spectrum Change-Point Detection res_loess$ChangePoints Bootstrap Confidence Intervals head(res_loess$CI_lower) head(res_loess$CI_upper) Conclusion cycleTrendR provides a flexible and robust toolkit for analyzing complex time-series with trend and cyclic components, especially when sampling is irregular or noise levels are high. It is suitable for biomedical assay monitoring, environmental signals, and forecasting tasks.