The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
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[@]dogado.de.
The goal of sleeper is to wrap code to run sleep
estimation from wrist-worn accelerometry.
The package wraps the code from https://github.com/wadpac/Sundararajan-SleepClassification-2021,
that was the modeling code from Sundararajan
(2021). The work created random forests to classify raw wrist-worn
accelerometry into sleep/wake/non-wear categories and released the
models at https://zenodo.org/records/3752645. The models released
were for sleep/wake/non-wear categories, the models for sleep states
(e.g. N1 vs REM) were not released.
You can install the development version of sleeper from GitHub with:
# install.packages("devtools")
devtools::install_github("jhuwit/sleeper")library(sleeper)
zip_file = "/path/to/zip_file.zip"
sl_download_models(zip_file)model_dir = "/path/to/models"
if (file.exists(zip_file)) {
unzip(zip_file, exdir = model_dir, junkpaths = TRUE)
}library(sleeper)
library(readr)
file = system.file("extdata", "example_data.csv.gz", package = "sleeper")
data = readr::read_csv(file)
#> Rows: 1296000 Columns: 4
#> ── Column specification ────────────────────────────────────────────────────────
#> Delimiter: ","
#> dbl (3): X, Y, Z
#> dttm (1): time
#>
#> ℹ Use `spec()` to retrieve the full column specification for this data.
#> ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
res = sl_features(data)
names(res)
head(as.data.frame(res))
#> times ENMO.1 ENMO.2 ENMO.3 ENMO.4
#> 1 2017-10-30T15:00:00.000000000 0.01434644 0.01772052 0.1975212 0.009440902
#> 2 2017-10-30T15:00:30.000000000 0.01701947 0.02266649 0.5414451 0.009864418
#> 3 2017-10-30T15:01:00.000000000 0.02417810 0.04656924 0.5961219 0.023924088
#> 4 2017-10-30T15:01:30.000000000 0.02411672 0.01852455 0.1809331 0.011838206
#> 5 2017-10-30T15:02:00.000000000 0.01385429 0.01266273 0.1096779 0.010300577
#> 6 2017-10-30T15:02:30.000000000 0.03306845 0.06664564 0.7120015 0.028274721
#> ENMO.5 ENMO.6 ENMO.7 ENMO.8 ENMO.9 ENMO.10
#> 1 1.2654473 2.884417 0.000000e+00 2.673031e-03 0.000000000 0.0062523476
#> 2 0.1994124 1.867399 2.673031e-03 7.158634e-03 0.002673031 0.0071279432
#> 3 0.6706424 2.212573 7.158634e-03 -6.138194e-05 0.008495149 -0.0051925963
#> 4 1.7874672 3.860443 -6.138194e-05 -1.026243e-02 0.003517935 -0.0006553512
#> 5 1.6081940 2.987287 -1.026243e-02 1.921416e-02 -0.010293120 0.0318796418
#> 6 0.6289889 2.453014 1.921416e-02 2.533097e-02 0.014082941 0.0084541233
#> ENMO.11 ENMO.12 angle_z.1 angle_z.2 angle_z.3 angle_z.4 angle_z.5
#> 1 0.000000000 0.005445708 -52.25549 32.06366 86.46509 27.91426 1.429398
#> 2 0.002673031 0.006784922 -47.78410 28.94895 80.75432 25.48653 1.243141
#> 3 0.008495149 0.008181617 -38.51319 27.49593 87.80717 25.41225 1.970863
#> 4 0.005602051 0.008375249 -46.52415 12.45985 48.15117 10.75197 2.287344
#> 5 -0.006060891 0.021279205 -37.23653 26.48098 75.85685 24.82435 1.413818
#> 6 0.013276301 -0.005243379 -45.36372 25.48814 113.11445 21.56025 1.847085
#> angle_z.6 angle_z.7 angle_z.8 angle_z.9 angle_z.10 angle_z.11 angle_z.12
#> 1 2.602494 0.000000 4.471390 0.000000 9.106846 0.0000000 9.741000
#> 2 2.116050 4.471390 9.270912 4.471390 5.265433 4.4713901 5.874706
#> 3 3.025502 9.270912 -8.010959 11.506607 -3.367149 11.5066072 -4.525293
#> 4 4.251617 -8.010959 9.287620 -3.375503 5.224028 -0.3398879 17.170469
#> 5 2.568265 9.287620 -8.127185 5.282141 -6.960097 9.0327043 18.868565
#> 6 3.614052 -8.127185 2.334176 -3.483375 27.956474 -2.8492216 40.879115
#> LIDS.1 LIDS.2 LIDS.3 LIDS.4 LIDS.5 LIDS.6 LIDS.7
#> 1 53.14782 19.1196898 63.945102 15.0541372 2.448610 4.584666 0.000000
#> 2 32.19773 2.2306102 7.627749 1.9348281 2.991816 5.290004 -20.950094
#> 3 25.42056 1.6340474 5.760051 1.4049276 2.990934 5.289333 -6.777171
#> 4 20.17162 1.3178801 4.563923 1.1392460 2.985203 5.283784 -5.248940
#> 5 16.54282 0.8248825 2.861095 0.7130328 2.988105 5.286473 -3.628802
#> 6 14.16962 0.5742193 1.994631 0.4966622 2.992615 5.291851 -2.373191
#> LIDS.8 LIDS.9 LIDS.10 LIDS.11 LIDS.12
#> 1 -20.950094 0.000000 -24.338680 0.000000 -29.564643
#> 2 -6.777171 -20.950094 -9.401641 -20.950094 -13.121575
#> 3 -5.248940 -17.252218 -7.063341 -17.252218 -9.614420
#> 4 -3.628802 -8.637525 -4.815398 -16.750419 -6.697164
#> 5 -2.373191 -6.253272 -3.287757 -16.191616 -4.784727
#> 6 -1.829133 -4.187592 -2.576937 -9.413555 -3.767697if (sl_have_models(model_dir)) {
output = estimate_sleep(data, model_dir = model_dir)
print(head(output))
}
#> Predicting nonwear with model 1
#> Predicting nonwear with model 2
#> Predicting nonwear with model 3
#> Predicting nonwear with model 4
#> Predicting nonwear with model 5
#> Predicting sleep states with model 1
#> Predicting sleep states with model 2
#> Predicting sleep states with model 3
#> Predicting sleep states with model 4
#> Predicting sleep states with model 5
#> Predicting sleep states with model 6
#> # A tibble: 6 × 2
#> time classification
#> <chr> <chr>
#> 1 2017-10-30T15:00:00.000000000 Sleep
#> 2 2017-10-30T15:00:30.000000000 Sleep
#> 3 2017-10-30T15:01:00.000000000 Sleep
#> 4 2017-10-30T15:01:30.000000000 Sleep
#> 5 2017-10-30T15:02:00.000000000 Sleep
#> 6 2017-10-30T15:02:30.000000000 WakeThese 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.
Health stats visible at Monitor.