syncR is the integrator and coordinator of the Circadia Lab R ecosystem.
โ ๏ธ syncR is in early development and has not been formally tested. The API may change without notice and the package has not undergone peer review. Use with caution and verify outputs independently before using in any research context.
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.
- ๐ 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
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
- R โฅ 4.1
dplyr,rlang,cli
# Install from GitHub
remotes::install_github("circadia-bio/syncR")library(syncR)
db <- sync(
tallie = tallieR::export(), # sociodemographics + questionnaires
slumb = slumbR::export(), # sleep diaries
zeit = zeitR::export() # actigraphy + circadian metrics
)# Inner join โ only participants present in all sources
db <- sync(tallie = ..., slumb = ..., zeit = ..., join = "inner")
# Full join โ all participants, NAs where data is absent
db <- sync(tallie = ..., slumb = ..., zeit = ..., join = "full")| Package | Role |
|---|---|
dplyr |
Data frame joining |
rlang |
Error handling and messaging |
cli |
Formatted console output |
| Role | Name |
|---|---|
| Author & maintainer | Lucas Franรงa |
| Author | Mario Leocadio-Miguel |
- ๐ 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
Released under the MIT License.
Copyright ยฉ Lucas Franรงa & Mario Leocadio-Miguel, 2025