Algorithm to Compute Monitor Independent Movement Summary Unit (MIMS-Unit).
MIMS-unit algorithm
Please create github issues if you have any question related to the package. Please click the following button to subscribe to any update on the package (Very important to receive notifications about bugs and bug fixes).
Short introduction
MIMS-unit is abbreviated for Monitor Independent Movement Summary unit. This measurement is developed to harmonize the processing of accelerometer data from different devices. You may refer to the manuscript for the detail description of the algorithm.
Copyright and citation
The copyright of the work belongs to Northeastern University, mHealth Research Group. Please kindly cite the manuscript if you have used the package or referred to the algorithm in your work.
Shiny Demo App
You may try to compute MIMS-unit values using our shiny demo app https://qutang.shinyapps.io/MIMSunit/. Note that the upload file size limit is 50 MB. The usage quote for the server is limited, so we do not guarantee the web app is always available to you.
Datasets
All datasets used in the manuscript are available at https://mhealthgroup.github.io/MIMSunit/articles/datasets.html.
System Requirements
- R (>= 3.6.0)
- memory (> 4GB)
For Windows
Rtools >=3.5 (see: https://cran.r-project.org/bin/windows/Rtools/)
For Linux (use ubuntu as an example)
Install dependency system packages for devtools
: build-essential
, libcurl4-gnutls-dev
, libxml2-dev
, libssl-dev
, libcurl4-ssl-dev
.
Installation
Stable version
CRAN
install.packages('MIMSunit')
Development version
Github
install.packages("devtools")
devtools::install_github("mhealthgroup/MIMSunit")
Note: It is recommended to use Rstudio when installing the package, because devtools
has some compatible issues with R command line interface.
Usage
MIMSunit::mims_unit(input_dataframe, dynamic_range=c(-3,3), epoch='1 min')
Assume the input dataframe is in following format, with the first column (timestamp) in POSXlct
objects and the device used to collect this data has dynamic range being -3g to 3g. You may set the epoch length to be 1 min
, 1 sec
, 5 sec
, 10 sec
and so on.
HEADER_TIME_STAMP,X,Y,Z
2016-10-03 14:51:14.236,0.007,-0.005,0.984
2016-10-03 14:51:14.256,0.008,-0.007,0.981
2016-10-03 14:51:14.276,0.009,-0.006,0.978
2016-10-03 14:51:14.297,0.009,-0.007,0.984
2016-10-03 14:51:14.317,0.010,-0.010,0.982
2016-10-03 14:51:14.337,0.011,-0.010,0.982