Nothing
knitr::opts_chunk$set( collapse = TRUE, comment = "#>" )
The activAnalyzer package was primarily built for working through a Shiny app. The procedure for using the app is explained in the related user's guide. The functions used in this app can also be used to analyze data outside the app, as shown below.
library(activAnalyzer) library(magrittr) library(ggplot2) library(patchwork) library(dplyr)
file <- system.file("extdata", "acc.agd", package = "activAnalyzer")
mydata <- prepare_dataset(data = file)
mydata_with_wear_marks <- mydata %>% mark_wear_time( to_epoch = 60, cts = "vm", frame = 90, allowanceFrame = 2, streamFrame = 30 )
height_factor <- nlevels(as.factor(mydata_with_wear_marks$date)) * 0.80
#| fig.alt: > #| Plot with nonwear/wear time marks plot_data(data = mydata_with_wear_marks, metric = "vm")
#| fig.alt: > #| Plot with nonwear/wear time marks and with a zoom in on the figure plot_data( data = mydata_with_wear_marks, metric = "vm", zoom_from = "16:00:00", zoom_to = "18:00:00" )
mydata_with_intensity_marks <- mark_intensity( data = mydata_with_wear_marks, col_axis = "vm", equation = "Sasaki et al. (2011) [Adults]", sed_cutpoint = 200, mpa_cutpoint = 2690, vpa_cutpoint = 6167, age = 32, weight = 67, sex = "male" )
#| fig.alt: > #| Plot with activity intensity marks plot_data_with_intensity( mydata_with_intensity_marks, metric = "vm", valid_wear_time_start = "00:00:00", valid_wear_time_end = "23:59:59" )
#| fig.alt: > #| Plot with activity intensity marks and grey bands to highlight the daily period considered for analysis plot_data_with_intensity( mydata_with_intensity_marks, metric = "vm", valid_wear_time_start = "07:00:00", valid_wear_time_end = "22:00:00" )
#| fig.alt: > #| Plot with activity intensity marks and a zoom in on the figure plot_data_with_intensity( mydata_with_intensity_marks, metric = "vm", zoom_from = "13:00:00", zoom_to = "16:30:00" )
results_by_day <- mydata_with_intensity_marks %>% recap_by_day( age = 32, weight = 67, sex = "male", valid_wear_time_start = "07:00:00", valid_wear_time_end = "22:00:00", start_first_bin = 0, start_last_bin = 10000, bin_width = 500 )
mean_results <- results_by_day$df_all_metrics %>% average_results(minimum_wear_time = 10, fun = "mean")
median_results <- results_by_day$df_all_metrics %>% average_results(minimum_wear_time = 10, fun = "median")
results_by_day$df_all_metrics %>% dplyr::select(date:total_steps) %>% reactable::reactable(striped = TRUE, defaultColDef = reactable::colDef(align = "center", minWidth = 180))
#| fig.alt: > #| Graphical view of the results by day for the activity volume metrics create_fig_res_by_day( results_by_day$df_all_metrics, minimum_wear_time_for_analysis = 10, start_day_analysis = "00:00:00", end_day_analysis = "23:59:00", metrics = "volume", epoch_label = "60s" ) + theme(plot.margin = margin(1, 1, 1, 1, "cm"))
create_flextable_summary( results_summary_means = mean_results, results_summary_medians = median_results, metrics = "volume", epoch_label = "60s" )
#| fig.alt: > #| Comparisons with norms and recommendations # PAL g_pal <- create_fig_pal(score = mean_results[["pal"]], "en") + theme(plot.margin = margin(2, 1, 0.5, 1, "cm")) # Steps g_steps <- create_fig_steps(score = mean_results[["total_steps"]], "en") + theme(plot.margin = margin(0, 1, 0.5, 1, "cm")) # MVPA g_mvpa <- create_fig_mvpa(score = mean_results[["minutes_MVPA"]], "en") + theme(plot.margin = margin(0, 1, 0, 1, "cm")) # SED g_sed <- create_fig_sed(score = mean_results[["minutes_SED"]], "en") + theme(plot.margin = margin(0, 1, 0, 1, "cm")) # MVPA/SED ratio g_ratio <- create_fig_ratio_mvpa_sed(score = mean_results[["ratio_mvpa_sed"]], "en") + theme(plot.margin = margin(0, 1, 1, 1, "cm")) # Whole figure (g_pal + theme(legend.position = "top")) / g_steps / (g_mvpa | g_sed | g_ratio) + plot_layout(heights = c(0.8, 0.7, 1.5)) & theme(legend.justification = "center")
results_by_day$df_all_metrics %>% dplyr::select(date, max_steps_60min:peak_steps_1min) %>% reactable::reactable(striped = TRUE, defaultColDef = reactable::colDef(align = "center", minWidth = 180))
#| fig.alt: > #| Graphical view of the results by day for the step accumulation metrics create_fig_res_by_day( results_by_day$df_all_metrics, minimum_wear_time_for_analysis = 10, start_day_analysis = "00:00:00", end_day_analysis = "23:59:00", metrics = "step_acc", epoch_label = "60s" ) + theme(plot.margin = margin(1, 1, 1, 1, "cm"))
create_flextable_summary( results_summary_means = mean_results, results_summary_medians = median_results, metrics = "step_acc", epoch_label = "60s" )
#| fig.alt: > #| Distribution of time spent in intensity bins | Bar plot results_by_day$p_band
#| fig.alt: > #| Distribution of time spent in intensity bins | Log-log plot results_by_day$p_log
results_by_day$df_all_metrics %>% dplyr::select(date, ig:M5) %>% reactable::reactable(striped = TRUE, defaultColDef = reactable::colDef(align = "center", minWidth = 180))
#| fig.alt: > #| Graphical view of the results by day for the intensity gradient and MX metrics create_fig_res_by_day( results_by_day$df_all_metrics, minimum_wear_time_for_analysis = 10, start_day_analysis = "00:00:00", end_day_analysis = "23:59:00", metrics = "int_distri", epoch_label = "60s" ) + theme(plot.margin = margin(1, 1, 1, 1, "cm"))
create_flextable_summary( results_summary_means = mean_results, results_summary_medians = median_results, metrics = "int_distri", epoch_label = "60s" )
#| fig.alt: > #| Radar plot for the MX metrics create_fig_mx_summary( data = mean_results, labels = NULL, mpa_cutpoint = 2690, vpa_cutpoint = 6167 )
accum_metrics_sed <- compute_accumulation_metrics( data = mydata_with_intensity_marks, behaviour = "sed", dates = c("2021-04-07", "2021-04-08", "2021-04-09", "2021-04-10", "2021-04-11") )
#| fig.alt: > #| Temporal distribution of sedentary bouts accum_metrics_sed$p_breaks
#| fig.alt: > #| Alpha coefficient, median bout duration (MBD), usual bout duration (UBD), and Gini index related to sedentary behaviour p1 <- accum_metrics_sed$p_alpha + guides(color = "none", fill = "none") p2 <- accum_metrics_sed$p_MBD + guides(color = "none", fill = "none") p3 <- accum_metrics_sed$p_UBD p4 <- accum_metrics_sed$p_gini (p1 | p2) / (p3 | p4) + plot_layout(guides = "collect") & theme(legend.position = 'bottom')
accum_metrics_pa <- compute_accumulation_metrics( mydata_with_intensity_marks, behaviour = "pa", dates = c("2021-04-07", "2021-04-08", "2021-04-09", "2021-04-10", "2021-04-11") )
#| fig.alt: > #| Temporal distribution of physical activity bouts accum_metrics_pa$p_breaks
#| fig.alt: > #| Alpha coefficient, median bout duration (MBD), usual bout duration (UBD), and Gini index related to physical activity p1 <- accum_metrics_pa$p_alpha + guides(color = "none", fill = "none") p2 <- accum_metrics_pa$p_MBD + guides(color = "none", fill = "none") p3 <- accum_metrics_pa$p_UBD p4 <- accum_metrics_pa$p_gini (p1 | p2) / (p3 | p4) + plot_layout(guides = "collect") & theme(legend.position = 'bottom')
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.