The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.
actibase is a baseline package for raw actigraphy and
activity workflows. It provides readers and core preprocessing helpers
that downstream packages can build on, such as step-count or
summarization overlays.
You can install actibase from GitHub with:
# install.packages("remotes")
remotes::install_github("jhuwit/actibase")library(actibase)
res = acti_standardize_data(acti_raw_data)
resampled = acti_resample(res, sample_rate = 30L)actibase keeps the primitives that other packages can
build on:
x/y/z, acc_*, and
acceleration_* input namesDevice-limit helpers distinguish adjacent samples from sustained
runs: acti_flag_adjacent_device_limit_samples() marks
near-limit samples with a neighboring limit sample, while
acti_flag_contiguous_device_limit_runs() marks axis- and
sign-specific runs meeting min_length. The older function
names remain available for compatibility.
The flag functions label questionable raw samples and intervals; they
do not replace vendor readers, wear/nonwear algorithms, or activity
summaries. acti_flag_cdc_labels() is syntactic sugar for
attaching CDC letter codes to flag columns already computed, so raw-data
checks can be compared with NHANES.
Higher-level summarization, step-count mapping, and downstream analysis should live in overlay packages.
The table maps the CDC NHANES PAM minute flags to the general-purpose
sample-level or window-level helpers in actibase. The
functions do not reproduce CDC’s data pipeline automatically: use the
CDC thresholds and window rules when matching NHANES output. Flags with
axis-specific output need by_axis = TRUE where that option
is available. acti_flag_cdc_labels() can combine the
resulting logical columns into CDC-style letter strings.
| CDC code | CDC definition (summary) | actibase function and
output |
Match notes |
|---|---|---|---|
| A–C | Axis-specific spikes: adjacent-sample change ≥11 g | acti_flag_spike(by_axis = TRUE):
flag_spike_X/Y/Z |
Sample-level; set
spike_size = 11 and use the appropriate sampling rate. |
| D–F | Per-minute count of positive near-limit values, ≥690 samples | acti_flag_device_limit_windows():
flag_device_max_X/Y/Z |
Set min_count = 690,
window_seconds = 60, dynamic_range = c(-6, 6),
and epsilon = 0.05. |
| G–I | Per-minute count of negative near-limit values, ≥690 samples | acti_flag_device_limit_windows():
flag_device_min_X/Y/Z |
Same thresholds as D–F, for negative values. |
| J–L | Contiguous positive near-limit run, ≥160 samples | acti_flag_contiguous_device_limit_runs():
flag_contiguous_max_X/Y/Z |
Set min_length = 160; CDC
also assigns the run to every overlapping minute. |
| M–O | Contiguous negative near-limit run, ≥160 samples | acti_flag_contiguous_device_limit_runs():
flag_contiguous_min_X/Y/Z |
Set min_length = 160; CDC
permits runs to cross minute boundaries. |
| P | Contiguous impossible gravity values | acti_flag_impossible():
flag_impossible |
Generalized thresholds are configurable; CDC uses seven samples, <0.01 g change on each axis, vector magnitude >1.25 g, excluding ±6 g values. |
| Q | Contiguous adjacent zero values | acti_flag_all_zero():
flag_all_zero |
Package checks all three axes. CDC documents a historical programming error that checked only X; exact reproduction of that error is not intended. |
| R | Contiguous identical, non-zero three-axis samples | acti_flag_repeated_samples():
flag_repeated_samples |
Configure min_length = 2,
exclude_zero = TRUE,
require_equal_axes = TRUE. CDC’s reported run length/minute
attribution may differ. |
| S–U | Axis-specific 1-second spike counts | acti_flag_spike_second(by_axis = TRUE):
flag_spike_second_X/Y/Z |
Set window_seconds = 1,
min_spikes = 13, spike_size = 11; CDC counts
qualifying local-extremum events. |
| V | Minute before and after an invalid minute | acti_flag_adjacent_invalid_periods():
flag_adjacent_invalid |
Caller supplies invalid periods; CDC’s hour-boundary exception requires matching group boundaries. |
| W–Y | Axis-specific interval jumps within a second | acti_flag_interval_jump(by_axis = TRUE):
flag_interval_jump_X/Y/Z |
Set window_seconds = 1,
min_repeats = 10, min_distinct = 3,
min_separation = 0.5; implementation is an approximation of
the CDC interval-jump rule. |
Letter labels are made from columns already present in the data; the helper does not run detectors or infer missing axis-specific results:
raw <- acti_flag_spike(raw, by_axis = TRUE)
raw <- acti_flag_device_limit_windows(raw, dynamic_range = c(-6, 6),
min_count = 690)
raw <- acti_flag_contiguous_device_limit_runs(raw, dynamic_range = c(-6, 6),
min_length = 160)
raw <- acti_flag_cdc_labels(raw)This work was supported by NIH P30AG021334 and the Johns Hopkins Older Americans Independence Center (OAIC) Pepper Center grant.
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.