Nothing
## ----setup, include = FALSE---------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>"
)
## ---- eval = FALSE------------------------------------------------------------
#
# ?TwoRegression::TwoRegression
#
## ---- eval=FALSE--------------------------------------------------------------
#
# if (!"remotes" %in% installed.packages)
# install.packages("remotes")
#
# if (!"AGread" %in% installed.packages())
# remotes::install_github("paulhibbing/AGread")
#
## -----------------------------------------------------------------------------
data(count_data, package = "TwoRegression")
data(all_data, package = "TwoRegression")
## -----------------------------------------------------------------------------
utils::head(count_data)
## -----------------------------------------------------------------------------
all_data <- all_data[ ,setdiff(
names(all_data),
## These are the variables to remove:
c(
"file_source_PrimaryAccel", "date_processed_PrimaryAccel",
"file_source_IMU", "date_processed_IMU", "day_of_year", "minute_of_day",
## Remove the following because they'll be recalculated later
"ENMO_CV10s", "GVM_CV10s", "Direction"
)
)]
utils::head(all_data)
## -----------------------------------------------------------------------------
crouter2006_results <- TwoRegression::TwoRegression(
count_data, "Crouter 2006", movement_var = "Axis1", time_var = "time"
)
crouter2010_results <- TwoRegression::TwoRegression(
count_data, "Crouter 2010", movement_var = "Axis1", time_var = "time"
)
crouter2012_va_results <- TwoRegression::TwoRegression(
count_data, "Crouter 2012", movement_var = "Axis1",
time_var = "time", model = "VA", check = FALSE
)
crouter2012_vm_results <- TwoRegression::TwoRegression(
count_data, "Crouter 2012", movement_var = "Vector.Magnitude",
time_var = "time", model = "VM", check = FALSE
)
## -----------------------------------------------------------------------------
utils::head(crouter2006_results)
utils::head(crouter2010_results)
utils::head(crouter2012_va_results)
utils::head(crouter2012_vm_results)
## -----------------------------------------------------------------------------
hibbing2018_results <- TwoRegression::TwoRegression(
all_data, "Hibbing 2018", accel_var = "ENMO",
gyro_var = "Gyroscope_VM_DegPerS",
direction_var = "mean_magnetometer_direction",
## Here is where we can select an algorithm from multiple sites:
site = c("Left Ankle", "Right Ankle"),
## And here is where we can select multiple algorithms
## (1 = accelerometer only; 2 = accelerometer and gyroscope;
## 3 = accelerometer, gyroscope, and magnetometer)
algorithm = 1:2,
## We can also ask the function to collapse data every minute by making an
## extra call to `smooth_2rm`
smooth = TRUE
)
utils::head(hibbing2018_results)
## -----------------------------------------------------------------------------
set.seed(307)
fake_sed <- c("Lying", "Sitting")
fake_lpa <- c("Sweeping", "Dusting")
fake_cwr <- c("Walking", "Running")
fake_ila <- c("Tennis", "Basketball")
fake_activities <- c(fake_sed, fake_lpa, fake_cwr, fake_ila)
all_data$Activity <- sample(fake_activities, nrow(all_data), TRUE)
all_data$fake_METs <- ifelse(
all_data$Activity %in% c(fake_sed, fake_lpa),
runif(nrow(all_data), 1, 2),
runif(nrow(all_data), 2.5, 8)
)
## -----------------------------------------------------------------------------
all_data$PID <- rep(
c("Test1", "Test2"),
each = ceiling(nrow(all_data) / 2)
)[seq(nrow(all_data))]
all_data$ENMO_CV10s <- TwoRegression::cv_2rm(all_data$ENMO)
## -----------------------------------------------------------------------------
my_model <- TwoRegression::fit_2rm(
data = all_data,
activity_var = "Activity",
sed_cp_activities = c(fake_sed, fake_lpa),
sed_activities = fake_sed,
sed_cp_var = "ENMO",
sed_METs = 1.25,
walkrun_activities = fake_cwr,
walkrun_cp_var = "ENMO_CV10s",
met_var = "fake_METs",
walkrun_formula = "fake_METs ~ ENMO",
intermittent_formula = "fake_METs ~ ENMO + I(ENMO^2) + I(ENMO^3)"
)
## -----------------------------------------------------------------------------
summary(
my_model,
subject_var = "PID",
MET_var = "fake_METs",
activity_var = "Activity"
)
## ---- fig.align='center', fig.width=12, fig.height=6, out.width="85%"---------
## You have to explicitly type `object = ` for this to work
plot(
object = my_model,
sed_cp_activities = c(fake_sed, fake_lpa),
sed_activities = fake_sed,
sed_cpVar = "ENMO",
activity_var = "Activity",
met_var = "fake_METs",
walkrun_activities = fake_cwr,
walkrun_cpVar = "ENMO_CV10s",
print = TRUE
)
## -----------------------------------------------------------------------------
new_results <- predict(my_model, all_data)
utils::head(new_results)
## -----------------------------------------------------------------------------
results_default <- predict(my_model, all_data, verbose = TRUE)
my_model$method <- "My Customized 2RM"
results_updated <- predict(my_model, all_data, verbose = TRUE)
## -----------------------------------------------------------------------------
## This code illustrates collapsing every 60 seconds. (This is the default
## period and also the typical recommendation, but you could do anything,
## e.g., "10 sec", "30 sec", or "0.25 hour")
TwoRegression::smooth_2rm(results_updated, "Timestamp", "60 sec")
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.