syncR is the integrator and coordinator of the Circadia Lab R ecosystem.
📖 What is syncR?
syncR provides a single, unified entry point for bringing together data across the Circadia Lab package ecosystem. It pulls sociodemographic and questionnaire data from tallieR, sleep diary data from slumbR, and actigraphy-derived circadian metrics from zeitR into one tidy, participant-indexed database.
syncR::sync() — pulling everything into alignment, just like the SCN does.
Just as the suprachiasmatic nucleus (SCN) coordinates biological rhythms across the body, syncR coordinates data streams across the suite — making cross-domain analysis (actigraphy vs. subjective sleep quality, circadian phase vs. demographics) effortless.
✨ Features
- 🔗 One function, three sources —
sync()joins tallieR, slumbR, and zeitR outputs in a single call - 🧩 Flexible joining — left, inner, or full join strategies to suit your study design
- 🪪 Participant-indexed — all outputs keyed on a shared participant ID column
- 🧹 Tidy output — returns a clean tibble ready for modelling or export
- 🔧 Source-agnostic — supply any combination of sources; omitted sources are silently ignored
🗂️ Project Structure
syncR/
├── R/
│ ├── syncR-package.R # Package-level documentation
│ └── sync.R # Core sync() function
├── tests/
│ └── testthat/
│ └── test-sync.R # Unit tests
├── vignettes/
│ └── syncR.Rmd # Getting started vignette
├── .github/
│ └── workflows/
│ ├── R-CMD-check.yaml
│ └── pkgdown.yaml
├── _pkgdown.yml
└── DESCRIPTION
📦 Dependencies
| Package | Role |
|---|---|
dplyr |
Data frame joining |
rlang |
Error handling and messaging |
cli |
Formatted console output |
🤝 Related Tools
- 🌙 slumbR — sleep diary data collection and processing
- ⏱️ zeitR — wrist actigraphy analysis and circadian rhythm metrics
- 📋 tallieR — sociodemographic and questionnaire data management
- 🔬 circadia-bio — the Circadia Lab GitHub organisation