| Title: | Actigraphy Data Parsing and Analysis for R |
|---|---|
| Description: | Provides tools for importing, parsing, and analysing raw actigraphy data from wrist-worn devices. Implements a full sleep analysis pipeline — off-wrist detection, main sleep period detection, nap detection, and WASO computation — validated epoch-for-epoch against the Condor circadiaBase Python reference pipeline using ActTrust hardware. Also computes standard non-parametric circadian rhythm variables (interdaily stability, intradaily variability, relative amplitude, L5, M10). Device-specific parameter presets can be swapped to adapt the pipeline to other actigraph models. Designed to complement slumbR in the Circadia Lab ecosystem. |
| Authors: | Lucas França [aut, cre] (ORCID: <https://orcid.org/0000-0003-0853-1319>), Mario Leocadio-Miguel [aut] (ORCID: <https://orcid.org/0000-0002-7248-3529>) |
| Maintainer: | Lucas França <[email protected]> |
| License: | MIT + file LICENSE |
| Version: | 0.1.0 |
| Built: | 2026-07-01 23:57:27 UTC |
| Source: | https://github.com/circadia-bio/zeitR |
Returns a named list of all device- and study-specific parameter values used
by the zeitR pipeline when processing ActTrust recordings. Passing this list
(or a modified copy) to run_pipeline() via the params argument fully
controls which values each detector stage receives, without having to touch
the individual function calls.
acttrust_params()acttrust_params()
The list is organised into four named sections that map directly to the four pipeline stages:
offwristParameters for detect_offwrist_bimodal(). These values
were validated against the Condor circadiaBase pipeline using ActTrust
hardware. The refinement stage (.bimodal_refine_acttrust) is
device-specific and currently only validated for ActTrust.
sleepParameters for detect_sleep_crespo(). sleep_quantile
(0.365) is the ActTrust CSPD wrapper value; the original Crespo (2012)
algorithm uses 1/3.
napParameters for detect_naps_crespo(), passed as the params
argument. Equivalent to .cspd_nap_params().
wasoParameters for compute_waso().
To adapt the pipeline for a different device, copy the list, modify the
relevant values, and pass it to run_pipeline():
p <- acttrust_params()
p$sleep$sleep_quantile <- 1/3 # use the original Crespo threshold
result <- run_pipeline("recording.txt", params = p)
A named list with elements offwrist, sleep, nap, and waso.
run_pipeline() for the pipeline entry point.
Scans a recording tibble for three classes of timestamp problem:
check_consistency(x, gap_s = 120, datetime_col = "datetime")check_consistency(x, gap_s = 120, datetime_col = "datetime")
x |
A tibble as returned by |
gap_s |
|
datetime_col |
|
Gaps — intervals between consecutive epochs longer than gap_s
seconds.
Backward jumps — timestamps that go backwards in time.
Year artefacts — timestamps in the years 1970 or 2000, which typically indicate firmware epoch-counter rollover bugs.
A tibble with one row per detected issue and columns:
rowinteger — row index in x where the issue occurs.
datetimePOSIXct — timestamp at that row.
issuecharacter — one of "gap", "backward_jump", or
"year_artefact".
detailcharacter — human-readable description.
Returns a zero-row tibble if no issues are found.
## Not run: rec <- read_acttrust("recordings/P001.txt") issues <- check_consistency(rec) issues ## End(Not run)## Not run: rec <- read_acttrust("recordings/P001.txt") issues <- check_consistency(rec) issues ## End(Not run)
Computes the standard non-parametric circadian rhythm analysis variables from an actigraphy recording, following Gonçalves et al. (2014) and Van Someren et al. (1999). All variables are derived from the 24-hour average activity profile built from hourly means (p = 24).
compute_npcra( x, epoch_s = NULL, L5_hours = 5, M10_hours = 10, window_days = NULL )compute_npcra( x, epoch_s = NULL, L5_hours = 5, M10_hours = 10, window_days = NULL )
x |
A |
epoch_s |
|
L5_hours |
|
M10_hours |
|
window_days |
|
The following variables are computed:
ISInterdaily stability — consistency of the 24 h rest-activity pattern across days (range 0–1; higher = more stable).
IVIntradaily variability — fragmentation of the rest-activity rhythm (>= 0; higher = more fragmented).
RARelative amplitude — contrast between the most active 10 h window (M10) and least active 5 h window (L5) (range 0–1).
L5Mean activity during the least active 5 consecutive hours.
L5_onsetClock time of the L5 window onset (hh:mm).
M10Mean activity during the most active 10 consecutive hours.
M10_onsetClock time of the M10 window onset (hh:mm).
A tibble with columns participant_id, window_start (if
window_days is set), IS, IV, RA, L5, L5_onset, M10,
M10_onset, n_days, n_epochs.
Gonçalves, B. S. B., Adamowicz, T., Louzada, F. M., Moreno, C. R., & Araujo, J. F. (2014). A fresh look at the use of nonparametric analysis in actimetry. Sleep Medicine Reviews, 20, 84–91. doi:10.1016/j.smrv.2014.06.002
Van Someren, E. J. W., Swaab, D. F., Colenda, C. C., Cohen, W., McCall, W. V., & Rosenquist, P. B. (1999). Bright light therapy: Improved sensitivity to its effects on rest-activity rhythms in Alzheimer patients by application of nonparametric methods. Chronobiology International, 16(4), 505–518. doi:10.3109/07420529908998724
## Not run: rec <- read_actigraphy("recordings/P001.txt") # Single estimate over the full recording compute_npcra(rec) # Per-fortnight estimates compute_npcra(rec, window_days = 14) ## End(Not run)## Not run: rec <- read_actigraphy("recordings/P001.txt") # Single estimate over the full recording compute_npcra(rec) # Per-fortnight estimates compute_npcra(rec, window_days = 14) ## End(Not run)
Scores each epoch within detected sleep periods as wake or sleep using
score_epochs_cole_kripke(), then computes per-night statistics. This is a
faithful port of the Python condor_pipeline detect_waso: night
boundaries are built by .nights_df() (the search_gap = FALSE path of the
reference nights_df), each night's ZCM is scored with Cole-Kripke, and the
epoch-level state is rebuilt from a zero (wake) base so that within-night
WASO-wake epochs and all epochs outside detected nights are scored as wake.
compute_waso(x, wake_thresh = 60L, search_gap = FALSE)compute_waso(x, wake_thresh = 60L, search_gap = FALSE)
x |
A tibble as returned by |
wake_thresh |
|
search_gap |
|
The following metrics are computed for each detected night / nap:
| Metric | Definition |
tbt |
Total Bed Time — epochs from bed time to get-up time |
tst |
Total Sleep Time — tbt - waso - sol - soi |
waso |
Wake After Sleep Onset — wake epochs between sleep onset and final wake |
sol |
Sleep Onset Latency — epochs from bed time to first sleep epoch |
soi |
Sleep Offset Inertia — trailing wake epochs at end of sleep period |
nw |
Number of awakenings — count of wake-onset transitions |
eff |
Sleep efficiency — tst / tbt
|
A list with two elements:
nightsA tibble with one row per detected night/nap and
columns night, is_nap, bed_time, get_up_time, tbt, tst,
waso, sol, soi, nw, eff.
dataThe input tibble x with state and sleep updated
with epoch-level Cole-Kripke wake/sleep scores.
Cole, R. J., Kripke, D. F., Gruen, W., Mullaney, D. J., & Gillin, J. C. (1992). Automatic sleep/wake identification from wrist activity. Sleep, 15(5), 461–469. doi:10.1093/sleep/15.5.461
## Not run: rec <- read_acttrust("recordings/P001.txt") prep <- prepare_actigraphy(rec) prep <- detect_offwrist_bimodal(prep) prep <- detect_sleep_crespo(prep) prep <- detect_naps_crespo(prep) result <- compute_waso(prep) result$nights ## End(Not run)## Not run: rec <- read_acttrust("recordings/P001.txt") prep <- prepare_actigraphy(rec) prep <- detect_offwrist_bimodal(prep) prep <- detect_sleep_crespo(prep) prep <- detect_naps_crespo(prep) result <- compute_waso(prep) result$nights ## End(Not run)
Faithful port of the Python nap_wrapper: runs the full CSPD model in nap
mode (detect_naps = TRUE) on the currently-awake epochs (state == 0) and
merges the detected naps into the sleep state. Must be run after
detect_sleep_crespo().
detect_naps_crespo(x, epoch_h = NULL, params = .cspd_nap_params())detect_naps_crespo(x, epoch_h = NULL, params = .cspd_nap_params())
x |
A tibble as returned by |
epoch_h |
|
params |
CSPD nap configuration list (default |
Nap detection uses a nap-mode MSP (a high zero-proportion combined with a
low adaptive-median activity, .crespo_nap_msp()) followed by the same
bed-time / get-up-time refiners as the main sleep detection, with the nap
parameter set (.cspd_nap_params()) and nap-specific minimum-length
post-processing. Detected naps are written as state == 1 (merged into
"sleep"), matching nap_wrapper, which assigns
state[wake] = 1 - refined_output (i.e. naps are not a distinct state).
The input tibble x with state and sleep columns updated. Nap
epochs become state == 1 and sleep == 1; off-wrist (state == 4) and
existing main-sleep epochs are preserved.
Crespo, C., Aboy, M., Fernández, J. R., & Mojón, A. (2012). Automatic identification of activity-rest periods based on actigraphy. Journal of Medical and Biological Engineering, 32(4), 249–256. doi:10.5405/jmbe.1033
detect_sleep_crespo() for main sleep period detection.
## Not run: rec <- read_acttrust("recordings/P001.txt") prep <- prepare_actigraphy(rec) prep <- detect_offwrist_bimodal(prep) prep <- detect_sleep_crespo(prep) prep <- detect_naps_crespo(prep) ## End(Not run)## Not run: rec <- read_acttrust("recordings/P001.txt") prep <- prepare_actigraphy(rec) prep <- detect_offwrist_bimodal(prep) prep <- detect_sleep_crespo(prep) prep <- detect_naps_crespo(prep) ## End(Not run)
Detects periods where the actigraph was not worn using the bimodal algorithm developed by Condor Instruments. The algorithm proceeds in three stages:
detect_offwrist_bimodal( x, hws = 10L, activity_quantile = 0.15, min_norm_activity = 0.015, nbins = 100L, min_offwrist_length = 10L, min_temp_threshold = 0.35 )detect_offwrist_bimodal( x, hws = 10L, activity_quantile = 0.15, min_norm_activity = 0.015, nbins = 100L, min_offwrist_length = 10L, min_temp_threshold = 0.35 )
x |
A tibble as returned by |
hws |
|
activity_quantile |
|
min_norm_activity |
|
nbins |
|
min_offwrist_length |
|
min_temp_threshold |
|
Feature extraction — rolling median of PIM activity and rolling
signal/variance of internal temperature are computed over a symmetric
window of half-width hws epochs.
Bimodal temperature threshold — among epochs with low activity
median (below the activity_quantile quantile of normalised activity),
a 2-component Gaussian Mixture Model is fitted to the normalised
temperature distribution. The threshold between the two components is
taken as the minimum of the GMM density between the two means (or the
minimum of the smoothed histogram if that is lower). Ashman's D is
computed as a bimodality quality metric.
Initial classification & refinement — epochs simultaneously
exhibiting low activity median AND low temperature are marked as
off-wrist. Short spurious off-wrist runs shorter than
min_offwrist_length epochs are removed.
Off-wrist epochs are encoded as state == 4 (matching the Python
pipeline convention). The offwrist column is set to 0.25 for
off-wrist epochs for actogram overlay plotting.
The input tibble x with state and offwrist columns updated.
Off-wrist epochs have state == 4 and offwrist == 0.25.
The bimodal off-wrist algorithm was developed by Julius A. P. P. de Paula at Condor Instruments (2023). It is not published in peer-reviewed literature but the source code is available in the circadiaBase pipeline repository. The Ashman D statistic is described in:
Ashman, K. M., Bird, C. M., & Zepf, S. E. (1994). Detecting bimodality in astronomical datasets. The Astronomical Journal, 108, 2348. doi:10.1086/117248
## Not run: rec <- read_acttrust("recordings/P001.txt") prep <- prepare_actigraphy(rec) prep <- detect_offwrist_bimodal(prep) sum(prep$state == 4) # number of off-wrist epochs ## End(Not run)## Not run: rec <- read_acttrust("recordings/P001.txt") prep <- prepare_actigraphy(rec) prep <- detect_offwrist_bimodal(prep) sum(prep$state == 4) # number of off-wrist epochs ## End(Not run)
Identifies the main sleep period(s) in an actigraphy recording using the algorithm described in Crespo et al. (2012). The method applies an adaptive median filter to the activity signal, mitigates spuriously long zero runs, and thresholds the result at a quantile of the filtered signal. Morphological closing and opening operations are then used to smooth the binary sleep/wake estimate.
detect_sleep_crespo( x, epoch_h = NULL, median_filter_h = 8, pad_h = 1, sleep_quantile = 0.365, morph_size = 61L, consec_zeros_thr = 15L, awake_zeros_thr = 2L, sleep_zeros_thr = 30L, zero_mitigation_q = 0.33, min_short_window_thr = 1, refine = TRUE, condition = 0L )detect_sleep_crespo( x, epoch_h = NULL, median_filter_h = 8, pad_h = 1, sleep_quantile = 0.365, morph_size = 61L, consec_zeros_thr = 15L, awake_zeros_thr = 2L, sleep_zeros_thr = 30L, zero_mitigation_q = 0.33, min_short_window_thr = 1, refine = TRUE, condition = 0L )
x |
A tibble as returned by |
epoch_h |
|
median_filter_h |
|
pad_h |
|
sleep_quantile |
|
morph_size |
|
consec_zeros_thr |
|
awake_zeros_thr |
|
sleep_zeros_thr |
|
zero_mitigation_q |
|
min_short_window_thr |
|
refine |
|
condition |
|
The input tibble x with state and sleep columns updated.
Sleep epochs have state == 1 and sleep == 1; off-wrist epochs
(state == 4) are preserved and excluded from the sleep column. With
refine = TRUE the sleep epochs delimit the refined sleep PERIODS (the
Python refined_output); per-epoch wake/sleep within them is scored later
by compute_waso().
Crespo, C., Aboy, M., Fernández, J. R., & Mojón, A. (2012). Automatic identification of activity-rest periods based on actigraphy. Journal of Medical and Biological Engineering, 32(4), 249–256. doi:10.5405/jmbe.1033
detect_naps_crespo() for secondary sleep period (nap) detection.
## Not run: rec <- read_acttrust("recordings/P001.txt") prep <- prepare_actigraphy(rec) prep <- detect_offwrist_bimodal(prep) prep <- detect_sleep_crespo(prep) ## End(Not run)## Not run: rec <- read_acttrust("recordings/P001.txt") prep <- prepare_actigraphy(rec) prep <- detect_offwrist_bimodal(prep) prep <- detect_sleep_crespo(prep) ## End(Not run)
Converts the integer state column produced by the zeitR pipeline into a
human-readable factor. Useful for display, plotting, and export — the
internal state column always stays integer to preserve Python reference
parity.
label_states(x)label_states(x)
x |
integer (or numeric) vector of epoch states, as found in
|
| Integer | Label |
0 |
"wake" |
1 |
"sleep" |
4 |
"off-wrist" |
7 |
"nap"
|
Any value not in the table above is silently converted to NA.
An ordered factor with levels
c("wake", "sleep", "nap", "off-wrist"), the same length as x.
label_states(c(0L, 1L, 0L, 4L, 1L, 7L)) # [1] wake sleep wake off-wrist sleep nap # Levels: wake < sleep < nap < off-wrist ## Not run: result <- run_pipeline("recordings/P001.txt") result$data$state_label <- label_states(result$data$state) ## End(Not run)label_states(c(0L, 1L, 0L, 4L, 1L, 7L)) # [1] wake sleep wake off-wrist sleep nap # Levels: wake < sleep < nap < off-wrist ## Not run: result <- run_pipeline("recordings/P001.txt") result$data$state_label <- label_states(result$data$state) ## End(Not run)
Transforms the output of read_acttrust() (or any reader that returns a
compatible tibble) into the working data frame expected by all detection
functions. Specifically:
prepare_actigraphy(x)prepare_actigraphy(x)
x |
A tibble as returned by |
Clamps int_temp and ext_temp to the physiological range [0, 42] °C.
Adds min-max scaled temperature columns int_temp_ and ext_temp_
(range [0, 1]) for plotting.
Ensures state, offwrist, and sleep columns are present and
initialised to 0.
The original tibble is never modified; a copy is returned.
A tibble of the same dimensions as x with additional or updated
columns: state, offwrist, sleep, int_temp_, ext_temp_.
## Not run: rec <- read_acttrust("recordings/P001.txt") prep <- prepare_actigraphy(rec) ## End(Not run)## Not run: rec <- read_acttrust("recordings/P001.txt") prep <- prepare_actigraphy(rec) ## End(Not run)
A device-agnostic wrapper that reads a raw actigraphy file and returns a
zeitr_recording object with $epochs (a tidy tibble) and $metadata
(a named list of device and recording information).
read_actigraphy(path, device = "acttrust", tz = "UTC", ...)read_actigraphy(path, device = "acttrust", tz = "UTC", ...)
path |
|
device |
|
tz |
|
... |
Additional arguments forwarded to the device-specific reader
(e.g. |
Currently supported devices:
"acttrust" — Condor Instruments ActTrust / ActTrust2 (.txt)
A zeitr_recording S3 object — a named list with:
$epochsA tibble with one row per epoch and columns
datetime, activity, int_temp, ext_temp, ZCMn,
state, offwrist, sleep.
$metadataA named list with subject, device_id,
device_model, firmware_version, interval_s, source_file,
and participant_id (derived from the filename stem).
read_actigraphy_dir() to read a whole directory at once.
## Not run: rec <- read_actigraphy("recordings/P001.txt") rec$epochs rec$metadata ## End(Not run)## Not run: rec <- read_actigraphy("recordings/P001.txt") rec$epochs rec$metadata ## End(Not run)
Applies read_actigraphy() to every file matching pattern in folder.
Returns a zeitr_study object — a named list of zeitr_recording objects,
one per file. Files that fail to parse are skipped with a warning.
read_actigraphy_dir( folder, device = "acttrust", pattern = "*.txt", tz = "UTC", ... )read_actigraphy_dir( folder, device = "acttrust", pattern = "*.txt", tz = "UTC", ... )
folder |
|
device |
|
pattern |
|
tz |
|
... |
Additional arguments forwarded to |
A zeitr_study S3 object — a named list of zeitr_recording
objects. Names are participant IDs (filename stems).
study_summary() to summarise a zeitr_study.
## Not run: study <- read_actigraphy_dir("recordings/", tz = "America/Sao_Paulo") study_summary(study) ## End(Not run)## Not run: study <- read_actigraphy_dir("recordings/", tz = "America/Sao_Paulo") study_summary(study) ## End(Not run)
Parses a Condor ActTrust .txt export into a tidy tibble. The file
format consists of a variable-length key-value header block followed by
semicolon-delimited epoch rows. The header ends at the line beginning with
DATE/TIME.
read_acttrust(path, tz = "UTC", encoding = "latin1")read_acttrust(path, tz = "UTC", encoding = "latin1")
path |
|
tz |
|
encoding |
|
A tibble with one row per epoch and the following columns:
datetimePOSIXct — epoch timestamp.
activitydouble — PIM activity count.
int_tempdouble — internal (on-body) temperature, °C.
ext_tempdouble — external (ambient) temperature, °C.
NA if unavailable.
ZCMndouble — normalised zero-crossing mode count.
NA if unavailable.
statedouble — state column, initialised to 0.
offwristdouble — off-wrist indicator, initialised to 0.
sleepdouble — sleep indicator, initialised to 0.
The tibble carries a "zeitr_recording" class and a metadata attribute
(a named list with subject, device_id, device_model,
firmware_version, interval_s, source_file).
## Not run: rec <- read_acttrust("recordings/P001.txt") rec attr(rec, "metadata") ## End(Not run)## Not run: rec <- read_acttrust("recordings/P001.txt") rec attr(rec, "metadata") ## End(Not run)
Orchestrates the complete pipeline for a single ActTrust recording:
run_pipeline( path, tz = "UTC", gap_s = 120, params = acttrust_params(), offwrist_args = list(), sleep_args = list(), nap_args = list(), quiet = FALSE )run_pipeline( path, tz = "UTC", gap_s = 120, params = acttrust_params(), offwrist_args = list(), sleep_args = list(), nap_args = list(), quiet = FALSE )
path |
|
tz |
|
gap_s |
|
params |
Device parameter preset, as returned by |
offwrist_args |
|
sleep_args |
|
nap_args |
|
quiet |
|
Read — read_acttrust()
Consistency check — check_consistency()
Prepare — prepare_actigraphy()
Off-wrist detection — detect_offwrist_bimodal()
Main sleep period detection — detect_sleep_crespo()
Nap detection — detect_naps_crespo()
WASO + nightly statistics — compute_waso()
A zeitr_result S3 object — a named list with:
subject_idcharacter — derived from the input filename stem.
source_filecharacter — absolute path to the input file.
datatibble — final epoch-level data frame with all state
columns populated.
nightstibble — per-night sleep statistics.
issuestibble — timestamp consistency issues (0 rows if none).
metadatalist — device and subject metadata from the file header.
run_pipeline_batch() for processing a directory of files.
## Not run: result <- run_pipeline("recordings/P001.txt", tz = "America/Sao_Paulo") result$nights result$data ## End(Not run)## Not run: result <- run_pipeline("recordings/P001.txt", tz = "America/Sao_Paulo") result$nights result$data ## End(Not run)
Applies run_pipeline() to every file matching pattern in folder,
returning a list of zeitr_result objects. Files that fail are skipped
with a warning.
run_pipeline_batch(folder, pattern = "*.txt", ...)run_pipeline_batch(folder, pattern = "*.txt", ...)
folder |
|
pattern |
|
... |
Additional arguments forwarded to |
A named list of zeitr_result objects, one per successfully
processed file. Names are the file stem (subject IDs).
## Not run: results <- run_pipeline_batch("recordings/", tz = "America/Sao_Paulo") lapply(results, function(r) r$nights) ## End(Not run)## Not run: results <- run_pipeline_batch("recordings/", tz = "America/Sao_Paulo") lapply(results, function(r) r$nights) ## End(Not run)
Applies the Cole-Kripke algorithm to a vector of zero-crossing mode (ZCM)
activity counts, scoring each epoch as wake (1) or sleep (0) using a
weighted sum of activity in a surrounding window.
score_epochs_cole_kripke( zcm, P = 0.000464, weights_before = c(34.5, 133, 529, 375, 408, 400.5, 1074, 2048.5, 2424.5), weights_after = c(1920, 149.5, 257.5, 125, 111.5, 120, 69, 40.5) )score_epochs_cole_kripke( zcm, P = 0.000464, weights_before = c(34.5, 133, 529, 375, 408, 400.5, 1074, 2048.5, 2424.5), weights_after = c(1920, 149.5, 257.5, 125, 111.5, 120, 69, 40.5) )
zcm |
|
P |
|
weights_before |
|
weights_after |
|
Each epoch's score is computed as:
where is the ZCM count at epoch , and
are the before and after weight vectors from Cole et al. (1992),
and . Epochs with are scored as wake.
An integer vector the same length as zcm, with 1 indicating
wake and 0 indicating sleep.
Cole, R. J., Kripke, D. F., Gruen, W., Mullaney, D. J., & Gillin, J. C. (1992). Automatic sleep/wake identification from wrist activity. Sleep, 15(5), 461–469. doi:10.1093/sleep/15.5.461
## Not run: rec <- read_acttrust("recordings/P001.txt") scores <- score_epochs_cole_kripke(rec$ZCMn) table(scores) # 0 = sleep, 1 = wake ## End(Not run)## Not run: rec <- read_acttrust("recordings/P001.txt") scores <- score_epochs_cole_kripke(rec$ZCMn) table(scores) # 0 = sleep, 1 = wake ## End(Not run)
Computes per-participant summary statistics from a zeitr_study object
(as returned by read_actigraphy_dir()). For each recording, the function
computes NPCRA variables (IS, IV, RA, L5, M10) and basic recording quality
metrics.
study_summary(study, epoch_s = NULL, L5_hours = 5, M10_hours = 10)study_summary(study, epoch_s = NULL, L5_hours = 5, M10_hours = 10)
study |
A |
epoch_s |
|
L5_hours |
|
M10_hours |
|
A tibble with one row per participant and columns:
participant_idParticipant identifier (filename stem).
n_epochsTotal number of epochs in the recording.
n_daysRecording duration in days.
startPOSIXct — first epoch timestamp.
endPOSIXct — last epoch timestamp.
ISInterdaily stability.
IVIntradaily variability.
RARelative amplitude.
L5Mean activity in the least active 5 h window.
L5_onsetClock time of L5 midpoint.
M10Mean activity in the most active 10 h window.
M10_onsetClock time of M10 midpoint.
compute_npcra() for single-recording NPCRA, read_actigraphy_dir()
to create a zeitr_study.
## Not run: study <- read_actigraphy_dir("recordings/", tz = "America/Sao_Paulo") study_summary(study) ## End(Not run)## Not run: study <- read_actigraphy_dir("recordings/", tz = "America/Sao_Paulo") study_summary(study) ## End(Not run)