knitr::opts_chunk$set(echo = TRUE, message=FALSE, warning=FALSE, echo = FALSE) library(magrittr) library(ggplot2) library(patchwork) df1_means <- params$results_summary_means df1_medians <- params$results_summary_medians df2 <- params$results_by_day sex <- ifelse(params$sex == "male", "masculin", ifelse(params$sex == "female", "féminin", "non défini")) position <- ifelse(params$position == "hip", "hanche", ifelse(params$position == "wrist", "poignet", ifelse(params$position == "thigh", "cuisse", ifelse(params$position == "ankle", "cheville", "NA")))) side <- ifelse(params$side == "right", "droit", ifelse(params$side == "left", "gauche", "non défini")) axis_weartime <- ifelse(params$axis_weartime == "vertical axis", "l'axe vertical", ifelse(params$axis_weartime == "vector magnitude", "le vecteur magnitude", "non défini")) axis_mvpa <- ifelse(params$axis_mvpa == "vertical axis", "axe vertical", ifelse(params$axis_mvpa == "vector magnitude", "vecteur magnitude", "non défini")) axis_mvpa_graph <- ifelse(params$axis_mvpa == "vertical axis", "axis1", ifelse(params$axis_mvpa == "vector magnitude", "vm", "na")) height_factor1 = nlevels(as.factor(params$df_with_computed_metrics$date)) * 0.8 height_factor1 <- ifelse(height_factor1 <= 6, nlevels(as.factor(params$df_with_computed_metrics$date)) * 0.9, height_factor1) height_factor2 = params$results_summary_means$valid_days * 0.75 height_factor2 <- ifelse(height_factor2 <= 6, nlevels(as.factor(params$df_with_computed_metrics$date)) * 0.9, height_factor2) height_factor3 = nlevels(as.factor(params$df_with_computed_metrics$date)) * 1.5 options("scipen"=100, "digits"=4)
Patient : r params$patient_surname
r params$patient_name
| Date : r Sys.Date()
| Évaluateur : r params$assessor_surname
r params$assessor_name
Age : r params$age
ans | Sexe : r sex
| Masse : r params$weight
kg | Période de mesure : r format(params$start_date, "%d/%m/%Y %H:%M:%S")
au r format(params$end_date, "%d/%m/%Y %H:%M:%S")
| Estimation du métabolisme de base : r format(round(params$bmr_kcal_d, 2), nsmall = 2)
kcal/jour (Estimation à partir des équations de Henry [2005, doi: 10.1079/PHN2005801])
Appareil : r params$device
| Position : r position
| Côté : r side
| Fréquence d'échantillonnage : r params$sampling_rate
Hz | Filtre : r params$filter
'Epoch' : r params$epoch
s | Temps de non-port : Basé sur r axis_weartime
, intervalle de r params$frame_size
min avec zéro count pour la détection du temps de non-port, intervalle de r params$allowanceFrame_size
min avec counts différents de 0 autorisé durant une période de non-port, intervalle de r params$streamFrame_size
min avec zéro count autour de la période d'activité détectée pour confirmer le non-port | Équation de prédiction des METs : r params$equation_mets
| Axe utilisé pour catégoriser l'intensité d'activité physique : r axis_mvpa
| Valeurs seuils : <r params$sed_cutpoint
counts/min pour SED, $\geqslant$ r params$mpa_cutpoint
counts/min pour MPA, $\geqslant$ r params$vpa_cutpoint
counts/min pour VPA
Période journalière considérée pour compter le temps de port : de r params$start_day_analysis
à r params$end_day_analysis
Nombre minimum d'heures avec temps de port pour valider un jour : r params$minimum_wear_time_for_analysis
heures
Abréviations : SED = sédentaire, LPA = activité physique légère, MPA = activité physique modérée, VPA = activité physique vigoureuse, MVPA = activité physique modérée à vigoureuse, NAP = niveau d'activité physique
g <- plot_data_with_intensity( data = params$df_with_computed_metrics, metric = axis_mvpa_graph, valid_wear_time_start = params$start_day_analysis, valid_wear_time_end = params$end_day_analysis )
g + labs(x = "Temps (hh:mm)", color = "Durée de période (min)", fill = "Durée de période (min)") if (params$rendered_by_shiny) shiny::setProgress(0.25) # set progress to 25%
create_fig_res_by_day( df2, params$minimum_wear_time_for_analysis, params$start_day_analysis, params$end_day_analysis, language = "fr", metrics = "volume" ) + theme(plot.margin = margin(1, 1, 1, 1, "cm"), axis.text.x = element_text(hjust = 1.1))
create_flextable_summary( df1_means, df1_medians, language = "fr", metrics = "volume", epoch_label = paste0(params$epoch, "s") ) if (params$rendered_by_shiny) shiny::setProgress(0.5) # set progress to 50%
# PAL g_pal <- create_fig_pal(score = df1_means[["pal"]], "fr") + theme(plot.margin = margin(2, 1, 0.5, 1, "cm")) # Steps g_steps <- create_fig_steps(score = df1_means[["total_steps"]], "fr") + theme(plot.margin = margin(0, 1, 0.5, 1, "cm")) # MVPA g_mvpa <- create_fig_mvpa(score = df1_means[["minutes_MVPA"]], "fr") + theme(plot.margin = margin(0, 1, 0, 1, "cm")) # SED g_sed <- create_fig_sed(score = df1_means[["minutes_SED"]], "fr") + theme(plot.margin = margin(0, 1, 0, 1, "cm")) # MVPA/SED ratio g_ratio <- create_fig_ratio_mvpa_sed(score = df1_means[["ratio_mvpa_sed"]], "fr") + theme(plot.margin = margin(0, 1, 0, 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")
# Determining physical activity guidelines status guidelines_status <- get_guidelines_status(df1_means[["mets_hours_mvpa"]], language = "fr") # Determining PAL status pal_status <- get_pal_status(df1_means[["pal"]], language = "fr")
Selon la Food and Agriculture Organization of the United Nations (FAO), le NAP du patient pourrait être décrit comme r pal_status
. Après avoir fait la conversion des minutes MPA et VPA vers les MET-heures, l'estimation du volume MVPA moyen journalier pour le patient est de r paste0(format(round(df1_means[["mets_hours_mvpa"]], 1), nsmall = 1))
MET-hr, ce qui pourrait correspondre au fait de tomber r guidelines_status
(i.e., 7.5-15.0 MET-hr par semaine, ou 1.07-2.14 MET-hr par jour).
create_fig_res_by_day( df2, params$minimum_wear_time_for_analysis, params$start_day_analysis, params$end_day_analysis, language = "fr", metrics = "step_acc" ) + theme(plot.margin = margin(1, 1, 1, 1, "cm"), axis.text.x = element_text(hjust = 1.1))
create_flextable_summary( df1_means, df1_medians, language = "fr", metrics = "step_acc", epoch_label = paste0(params$epoch, "s") ) if (params$rendered_by_shiny) shiny::setProgress(0.75) # set progress to 75%
create_fig_res_by_day( df2, params$minimum_wear_time_for_analysis, params$start_day_analysis, params$end_day_analysis, language = "fr", metrics = "int_distri", epoch_label = paste0(params$epoch, "s") ) + theme(plot.margin = margin(1, 1, 1, 1, "cm"), axis.text.x = element_text(hjust = 1.1))
create_flextable_summary( df1_means, df1_medians, language = "fr", metrics = "int_distri", epoch_label = paste0(params$epoch, "s") )
cor_factor <- 60 / params$epoch create_fig_mx_summary( data = df1_means, labels = NULL, mpa_cutpoint = params$mpa_cutpoint / cor_factor, vpa_cutpoint = params$vpa_cutpoint / cor_factor ) + theme(legend.position = c(0.15, 0.08))
\newpage
if(length(params$p_breaks_sed) == 1) { cat("Aucun résultat. Les résultats ne peuvent être obtenus qu'en utilisant des périodes de 60 s.") } else { params$p_breaks_sed + labs(title = paste("Nombre journalier moyen de 'breaks':", params$mean_breaks_sed), x = "Temps (hh:mm)", color = "Durée de période (min)", fill = "Durée de période (min)") }
if(length(params$p_breaks_pa) == 1) { cat("Aucun résultat. Les résultats ne peuvent être obtenus qu'en utilisant des périodes de 60 s.") } else { p1 <- params$p_alpha_sed + labs(x = "Durée de période (min)", color = "Durée (min)", fill = "Durée (min)") + guides(color = "none", fill = "none") p2 <- params$p_MBD_sed + labs(x = "Durée de période (min)", color = "Durée (min)", fill = "Durée (min)") + guides(color = "none", fill = "none") p3 <- params$p_UBD_sed + labs(x = "Durée de période (min)", y = "Fraction cumulée du temps total sédentaire", color = "Durée (min)", fill = "Durée (min)") p4 <- params$p_gini_sed + labs(x = "Fraction du nombre de périodes de durée > x", y = "Fraction cumulée du temps total sédentaire", color = "Durée (min)", fill = "Durée (min)") (p1 | p2 | p3 | p4) + plot_layout(guides = "collect") & theme(legend.position = 'bottom', axis.title = element_text(size = 15), legend.title = element_text(size = 17), legend.text = element_text(size = 15) ) }
\newpage
if(length(params$p_breaks_pa) == 1) { cat("Aucun résultat. Les résultats ne peuvent être obtenus qu'en utilisant des périodes de 60 s.") } else { params$p_breaks_pa + labs(title = paste("Nombre journalier moyen de 'breaks':", params$mean_breaks_pa), x = "Temps (hh:mm)", color = "Durée de période (min)", fill = "Durée de période (min)") } if (params$rendered_by_shiny) shiny::setProgress(1) # set progress to 100%
if(length(params$p_breaks_pa) == 1) { cat("Aucun résultat. Les résultats ne peuvent être obtenus qu'en utilisant des périodes de 60 s.") } else { p1 <- params$p_alpha_pa + labs(x = "Durée de période (min)", color = "Durée (min)", fill = "Durée (min)") + guides(color = "none", fill = "none") p2 <- params$p_MBD_pa + labs(x = "Durée de période (min)", color = "Durée (min)", fill = "Durée (min)") + guides(color = "none", fill = "none") p3 <- params$p_UBD_pa + labs(x = "Durée de période (min)", y = "Fraction cumulée du temps total d'activité physique", color = "Durée (min)", fill = "Durée (min)") p4 <- params$p_gini_pa + labs(x = "Fraction du nombre de périodes de durée > x", y = "Fraction cumulée du temps total d'activité physique", color = "Durée (min)", fill = "Durée (min)") (p1 | p2 | p3 | p4) + plot_layout(guides = "collect") & theme(legend.position = 'bottom', axis.title = element_text(size = 15), legend.title = element_text(size = 17), legend.text = element_text(size = 15) ) }
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.