R/summer_vacation.R

Defines functions summer_vacation

Documented in summer_vacation

#' Create dummies for Summer vacation (In dutch: 'Zomervakantie')
#'
#' Create a dummy variable that takes the value 0 or 1 to indicate the
#' abscence or presence of summer break. The day(s) before or after summer break
#' can also be recoded by using the pre and post arguments. For example, if you also
#' want to recode the days after the summer vacation period, set
#' post argument to 1.
#'
#' @param dates A vector with dates in the format YYYY-MM-DD
#' @param pre non-negative int. To encode the days before the holiday dates.
#' @param post non-ngevative int. To encode the days after the holiday dates.
#' @return A dummy (binary vector)
#' @importFrom magrittr %>%
#' @export
#' @examples
#'df <- tibble::tibble(
#'dates = seq_days("2021-1-1", "2021-12-31"),
#'summer_vac = summer_vacation(dates)
#')
#'# Examine result
#'#View(df)
summer_vacation <- function(dates, pre = 0 , post = 0){

  # The autumn vacation presumably falls on the saturday of week 41
  weeknr <- as.integer(strftime(dates, format = "%V"))
  weekday <- lubridate::wday(dates)

  summer_vacation_dates <- dates[weeknr == 27 & weekday == 7] %>%
    add_intervals(pre=pre, post=57+post)

  # create dummies from vacation dates
  vector <- add_holiday_dummies(dates, summer_vacation_dates)
  return(vector)
}
Glender/DutchDayDummies documentation built on Feb. 24, 2022, 7:15 a.m.