R/get_moved_distance.R

Defines functions get_moved_distance

Documented in get_moved_distance

#' calculate cumulative moving distances for each experiment, participant, condition, and device
#'
#' @param data a tibble Experiment, Participant, Condition, Trial, Device, x, y, z columns
#'
#' @return a tibble with Experiment, Participant, Condition, Trial, Device, and a moved_distance column
#' @export
#'
#' @examples get_moved_distance(data) TODO
get_moved_distance <- function(data){
   # TODO: refactor using variables, keep other columns
   results <- data %>%
    group_by(Experiment, Participant, Condition, Device, Platform, Trial) %>%
    arrange(Timestamp) %>%
    mutate(dist_travelled = sqrt((x - lag(x))^2 + (y - lag(y))^2 + (z - lag(z))^2)) %>%
    summarise(moved_distance = sum(dist_travelled, na.rm = TRUE)) %>%
    ungroup()

   return(results)
}
Fumeng-Yang/vrut documentation built on Dec. 17, 2021, 9:22 p.m.