Learn R Programming

⚠️There's a newer version (3.2-0) of this package.Take me there.

Getting started:

The package vignette and this short tutorial video provide an introduction to GGIR, including: How it can be installed, Key software features, and where to get help.

Contribution guidelines:

We always welcome contributions to the package.

When you are familiar with GitHub:

We work with GitHub Flow branching model.

Key steps:

  1. Create a GitHub issue in this repository with description of the work that you plan to do.
  2. Assign yourself to the GitHub issue you are working on, to inform other developers that you are working on it.
  3. Create your own working branch or fork.
  4. Make your changes in that branch or fork.
  5. Commit your changes to your working branch/fork as long as you are not finished with your development.
  6. Make sure the release notes in NEWS.Rd are updated.
  7. Add your name to the contributors list in the DESCRIPTION file.
  8. Run the tests and checks as CRAN, make sure they pass.
  9. Once your work is finished, make a pull request, such that another developer can review your changes before merging them with the master branch.

When you are unfamiliar with GitHub:

If you would like to propose additional functionalities or report an issue. Go to issues and create a new issue.

If you would like to propose changes to the text of the manual this is possible.

  1. Please go to the man folder which holds all the parts of the manual.
  2. Go to the part of the manual you want to edit and click on edit button (little pencil symbol) and make your changes.
  3. Once you are finished, scroll down and describe you update and select the radio button "Create a new branch for this commit and start a pull request". One of the developers will then be able to review your changes and merge them in the master version of the code.
  4. Click the green button "Propose file changes"

Version numbers:

For a number of years I created a new GGIR release on CRAN with every major improvement to GGIR. This resulted in 18 releases in just two years, which is not very practical.

As of 2020 I am reducing the number of CRAN releases to only two or three per year, with intermediate releases on GitHub only. New features and bug fixes will first be released on GitHub, which creates a time window for extra testing before they end up in the next CRAN release. This will make the GGIR CRAN releases more stable and a good starting point for new GGIR users, while GitHub releases will become the place for the latest bug fixes and feature additions.

If possible, please use the GitHub version whenever you can to help spot issues timely before they end up in a CRAN release.

With this new release structure I will use the following version coding. A.B-C:

  • A increases with major changes that affect backward compatibility with previous releases like changes in function names, function arguments or file format.
  • B increases with every CRAN release.
  • C increases with every GitHub release.

Images usaged

The copyright of the GGIR logo as contained in the file vignettes/GGIR-MASTERLOGO-RGB.png lies with Accelting (Almere, The Netherlands), please contact v.vanhees@accelting.com to ask for permission to use this logo.

All other images in this repository are released under the Creative Commons Attribution 4.0 International (CC BY 4.0) license.

Copy Link

Version

Install

install.packages('GGIR')

Monthly Downloads

1,775

Version

2.3-0

License

LGPL (>= 2.0, < 3) | file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Vincent T van Hees

Last Published

February 17th, 2021

Functions in GGIR (2.3-0)

data.calibrate

Example output from g.calibrate
POSIXtime2iso8601

Convert POSIX to iso8601 timestamp
data.getmeta

Example output from g.getmeta
data.inspectfile

Example output from g.inspectfile
datadir2fnames

Generates vector of file names out of datadir input argument
g.IVIS

Calculates IV and IS
createConfigFile

Creates Config File based on variables in g.shell.GGIR environment
g.dotorcomma

Assesses whether decimals in fileheader are stored with comma or dot separated decimals
g.abr.day.names

g.getmeta

function to extract meta-data (features) from data in accelerometer file
g.create.sp.mat

Converts sleep period information. Not intended for direct use
create_test_sleeplog_csv

Creates csv sleeplog file for testing purposes
create_test_acc_csv

Creates csv data file for testing purposes
g.getstarttime

Extract start time of a measurement
g.metric

Extract metrics from acceleration signals
g.downsample

Downsample a vector of numeric values at three time resolutions
g.getbout

function to calculate bouts from vector of binary classes
g.analyse

g.analyse.avy

Function supports g.analyse. Not intended for direct use by user.
g.convert.part2.long

Convert part 2 report to long format
g.conv.actlog

Function to read activity log and make it useful for the rest of GGIR.
g.createcoordinates

g.part5.definedays

Fix missing night in part 4 output
g.part5.fixmissingnight

Fix missing night in part 4 output
g.part1

function to load and pre-process acceleration files
g.intensitygradient

Intensity gradient calculation
g.analyse.perday

Function supports g.analyse. Not intended for direct use by user.
g.part5.onsetwaketiming

Identify wake and sleepperiod window timing
g.readaccfile

Generic functiont to read large blocks of accelerometer data
g.plot5

Generate user-friendly visual report. The first part of the report summarizes important daily metrics in bar plot format. The second part of the report shows the raw data and annotations in 24-hr periods. Angle-z is shown with sleep annotations during the SPT (sleep period time) window. ENMO is shown with daytime inactivity and PA (physical activity) annotations in the lower section of each 24-hr plot. The PA annotations are based on a 10 minute bout metric and 80 of a 10 minute bout of MVPA. Vigorous PA is a short window of time above threshold.vig that is part of a bout of MVPA. Light PA is a short window of time above threshold.lig that is part of a bout of light PA.
applyExtFunction

Apply external function to acceleration data.
chartime2iso8601

Convert character timestamps to iso8601 timestamp
g.binread

function to read binary files as produced by the accelerometer named 'Genea', not to be confused with the 'GENEActiv' (see package GENEAread for this)
g.calibrate

function to estimate calibration error and make recommendation for addressing it
g.applymetrics4sg

Apply metrics specific for data coming out of separategravity function
g.applymetrics

Extract metrics from acceleration signals
g.getM5L5

Extract M5 and L5 from time series
g.extractheadervars

Extracts header variables from header object
g.part5.addfirstwake

Adds first wake if it is missing in part 4 output.
getFirstTimestamp

Extract first timestamp from GENEActiv file
g.part5.savetimeseries

Saves oart 5 time series to csv files
g.getidfromheaderobject

Extracts participant identifier from header object
g.analyse.perfile

Function supports g.analyse. Not intended for direct use by user.
is_this_a_dst_night

Check whether the night starting on a calendar date has DST.
getStartEnd

Generate start and end time of a day
g.part2

g.part3

Detection of sustained inactivity periods as needed for sleep detection in g.part4.
g.report.part4

g.part5

Merge output from physical activity and sleep analysis into one report
g.loadlog

Load and clean sleeplog information
g.part4

Labels detected sustained inactivity periods by g.part3 as either part of the Sleep Period Time window or not
g.cwaread

Function to read .cwa-format files as produced by the accelerometer named 'Axivity'
g.detecmidnight

Detect all midnights in a time series
g.report.part2

g.readtemp_movisens

Reads the temperature from movisens files.
g.wavread

function to read .wav files as produced by the accelerometer named 'Axivity'
g.weardec

Detects whether accelerometer is worn
g.impute

function to identify invalid periods in the meta-data as generated by g.getmeta and to impute these invalid periods with the average of similar timepoints on other days of the measurement
iso8601chartime2POSIX

Convert iso8601 timestamps to POSIX timestamp
ismovisens

Checks whether the files to process are collected with movisens accelerometers.
isfilelist

Checks whether datadir is a directory or a vector with filenames
updateBlocksize

Update blocksize of data to be read depending on available memory.
g.sib.plot

Create plot of sustained inactivity bouts
g.part5.addsib

Adds the sustained inactivity bout to the ts series.
g.sib.sum

sustiained inactivty bouts detection
getStartEndNumeric

Generate start and end page of a day
g.report.part5

get_nw_clip_block_params

Set monitor brand specific parameters
g.inspectfile

function to inspect accelerometer file for brand, sample frequency and header
g.part5.wakesleepwindows

Label wake and sleepperiod window
numUnpack

Simple function using Rcpp
read.myacc.csv

Read custom csv files with accelerometer data
g.plot

function to generate a plot for quality check purposes
g.shell.GGIR

Shell function for analysing an accelerometer dataset.
g.sib.det

sustiained inactivty bouts detection
get_starttime_weekday_meantemp_truncdata

Get starttime (adjusted), weekday, mean temp, and adjust data accordingly.
is.ISO8601

Check whether character timestamp is in iso8601 format.
identify_levels

Identifies levels of behaviour for g.part5 function.
getfolderstructure

Extracts folderstructure based on data directory.
resample

Simple function using Rcpp
separategravity

Separate gravity from acceleration signal.
check_myfun

Checks myfun object before it is passed to applyExtfunction
GGIR-package

A package to process multi-day raw accelerometer data