Description Usage Arguments Details Value Author(s) See Also Examples
This function assigns an activity range to each observation of a time-series, such as for a sequence of impulse counts recorded by an accelerometer. The activity ranges are defined by thresholds called “cut-off points”. Furthermore, bout periods are analysed (see Details for further informations).
1 2 3 |
x |
a vector object of length |
cut_points |
a vector object containing cut-off points to separate activity ranges. For instance, the vector c(7,15,23) separates the four activity ranges [0,7);[7,15);[15,23);[23,Inf). |
names_activity_ranges |
an optional character string vector to name the activity ranges induced by the cut-points. This vector must contain one element more than the vector |
bout_lengths |
a vector object (with even number of elemets) to define the range of the bout intervals (see Details for the definition of bouts). For instance,
|
hidden_PA_levels |
an optional vector object of length |
plotting |
a numeric value between |
A bout is defined as a period of time spending a defined intensity of physical activities in a specified physical activity range, without switching to activity intensities in a different activity range.
cut_off_point_method
returns a list containing the extracted sequence of activity ranges and plots key figures.
activity_ranges |
an array object containing the cut-off intervals that indicate the activity ranges. |
classification |
an integer vector containing the sequence of activity ranges that were assigned to the observed time-series of accelerometer counts. If |
classification_per_activity_range |
a pairlist object containing the classification of the observed counts by the assigned activity range. |
freq_acitvity_range |
table object containing the absolute frequencies of classifications into activity ranges. |
rel_freq_acitvity_range |
table object containing the relative frequencies of classifications into activity ranges. |
quantity_of_bouts |
overall number of bouts. |
bout_periods |
an array including the bout length assigned to acitiy ranges. |
abs_freq_bouts_el |
a pairlist object containing the absolute frequency of bout length per epoch length (aggregated). |
Vitali Witowski (2013).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 | ################################################################
### Fictitious activity counts #################################
################################################################
x <- c(1,16,19,34,22,6,3,5,6,3,4,1,4,3,5,7,9,8,11,11,
14,16,13,11,11,10,12,19,23,25,24,23,20,21,22,22,18,7,
5,3,4,3,2,3,4,5,4,2,1,3,4,5,4,5,3,5,6,4,3,6,4,8,9,12,
9,14,17,15,25,23,25,35,29,36,34,36,29,41,42,39,40,43,
37,36,20,20,21,22,23,26,27,28,25,28,24,21,25,21,20,21,
11,18,19,20,21,13,19,18,20,7,18,8,15,17,16,13,10,4,9,
7,8,10,9,11,9,11,10,12,12,5,13,4,6,6,13,8,9,10,13,13,
11,10,5,3,3,4,9,6,8,3,5,3,2,2,1,3,5,11,2,3,5,6,9,8,5,
2,5,3,4,6,4,8,15,12,16,20,18,23,18,19,24,23,24,21,26,
36,38,37,39,45,42,41,37,38,38,35,37,35,31,32,30,20,39,
40,33,32,35,34,36,34,32,33,27,28,25,22,17,18,16,10,9,
5,12,7,8,8,9,19,21,24,20,23,19,17,18,17,22,11,12,3,9,
10,4,5,13,3,5,6,3,5,4,2,5,1,2,4,4,3,2,1)
################################################################
### i.) Tradionional cut_point method ##########################
################################################################
### Assigning activity ranges to activity counts using
### fictitious cut-off points that produce the four activity
### ranges "sedentary"", "light"", "moderate"", and "vigorous".
solution_of_traditional_cut_off_point_method <-
cut_off_point_method(x = x,
cut_points = c(5,15,23),
names_activity_ranges = c("SED","LIG","MOD","VIG"),
bout_lengths = c(1,1,2,2,3,3,4,4,5,5,6,12,
13,40,41,265,1,265),
plotting = 0)
print(solution_of_traditional_cut_off_point_method)
###############################################################
### ii.) Extension of the tradionional cut_point method #######
### using HMMs ######################################
###############################################################
## The following three steps define an extension of the
## traditional cut-off method by first extracting the hidden
## physical activity pattern behind the accelerometer counts
## using a HMM (those three steps are basically combined in
## the function HMM_based_method, see HMM_based_method for
## further details and references):
### Step 1 #####################################################
## Train hidden Markov model for different number of
## states m=2,...,6 and select the model with the most
## plausible m
m_trained_HMM <-
HMM_training(x = x,
min_m = 2,
max_m = 6, BW_print=FALSE,
distribution_class = "pois")$trained_HMM_with_selected_m
### Step 2 #####################################################
## Decode the trained HMM (by using the
## Viterbi algorithm (global decoding)) to get the estimated
## sequence of hidden physical activity levels
## underlying the the accelerometer counts
## You have to compute 'm_trained_HMM' first (see Step 1)
global_decoding <-
HMM_decoding(x = x,
m = m_trained_HMM$m,
delta = m_trained_HMM$delta,
gamma = m_trained_HMM$gamma,
distribution_class = m_trained_HMM$distribution_class,
distribution_theta = m_trained_HMM$distribution_theta,
decoding_method = "global")
hidden_PA_levels <-
global_decoding$decoding_distr_means
### Step 3 #####################################################
## Assigning activity ranges to activity counts using the
## information extracted by decoding the HMM for the counts
## (PA-levels) and fictitious cut-off points that produce
## four so-called activity ranges:"sedentary", "light",
## "moderate" and "vigorous":
## You have to compute 'm_trained_HMM' and
## 'hidden_PA_levels' first (see above)
solution_of_HMM_based_cut_off_point_method <-
cut_off_point_method(x = x,
hidden_PA_levels = hidden_PA_levels,
cut_points = c(5,15,23),
names_activity_ranges = c("SED","LIG","MOD","VIG"),
bout_lengths = c(1,1,2,2,3,3,4,4,5,5,6,12,13,40,41,265,1,265),
plotting=1)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.