R/get-time-pattern-series.R

Defines functions get_time_pattern_series

Documented in get_time_pattern_series

#' Reshape time pattern series data.
#'
#' @param data_tp data frame including questionnaire_id, kml3d results and time pattern data.
#'
#' @return Reshaped data frame.
#' @export
get_time_pattern_series <- function(data_tp)
{

  # Daten für die Zeitserien aufbereiten
  data_series <- data_tp %>%
    gather("day_activity", "duration", 4:52) %>%
    mutate(day_activity = str_replace(day_activity, "_\\d+", "")) %>%
    separate(day_activity, c("day", "activity"), "_") %>%
    mutate(day = fct_relevel(str_to_title(day), "Mo", "Di", "Mi", "Do", "Fr", "Sa", "So"),
           activity = fct_recode(
             str_to_title(activity),
             "Lehrveranstaltungen" = "Veranstaltungen")) %>%
    mutate(activity = fct_relevel(activity,"Lehrveranstaltungen", "Zwischenzeit", "Selbststudium", "Fahrzeit", "Arbeitszeit", "Freizeit", "Schlafen"))

  # Durchschnittsprofile berechnen
  data_series_average <- data_series %>%
    select(-questionnaire_id) %>%
    drop_na %>%
    group_by(zeitmuster, day, activity) %>%
    summarise(avg_duration = mean(duration)) %>%
    ungroup()

  # Prozentuale Verteilung der Zeitmuster
  data_series_profile_prop <- data_tp %>% select(zeitmuster) %>%
    data.frame() %>% count(zeitmuster) %>% na.omit() %>%
    transmute(zeitmuster = zeitmuster, prop = glue("({round(n / sum(n) * 100, 1)}%)"))

  return(list(data_series = data_series, data_series_average = data_series_average, data_series_profile_prop_label = data_series_profile_prop))
}
inventionate/TimeSpaceAnalysis documentation built on May 18, 2019, 5:47 a.m.