Nothing
## ---- include = FALSE---------------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>"
)
## ----setup--------------------------------------------------------------------
library(almanac)
library(lubridate, warn.conflicts = FALSE)
## -----------------------------------------------------------------------------
on_christmas <- yearly() %>%
recur_on_day_of_month(25) %>%
recur_on_month_of_year("Dec")
x <- as.Date(c("2019-12-24", "2019-12-25"))
adj_following(x, on_christmas)
adj_preceding(x, on_christmas)
## -----------------------------------------------------------------------------
# Saturday / Sunday
x <- as.Date(c("2019-12-21", "2019-12-22"))
on_weekends <- weekly() %>%
recur_on_weekends()
# Roll Saturday backwards and Sunday forwards
adj_nearest(x, on_weekends)
## -----------------------------------------------------------------------------
on_adjusted_christmas <- radjusted(
rschedule = on_christmas,
adjust_on = on_weekends,
adjustment = adj_nearest
)
on_adjusted_christmas
## -----------------------------------------------------------------------------
# Note 2004-12-24, which was rolled back from 2004-12-25, a Saturday.
# Note 2005-12-26, which was rolled forward from 2005-12-25, a Sunday.
alma_search("2002-01-01", "2008-01-01", on_adjusted_christmas)
## -----------------------------------------------------------------------------
# A Thursday / Friday pair
x <- as.Date(c("2019-12-19", "2019-12-20"))
# Shift by 1 working day, stepping over weekends
step <- alma_step(x, n = 1, rschedule = on_weekends)
data.frame(
x = x,
x_wday = wday(x, label = TRUE),
step = step,
step_wday = wday(step, label = TRUE)
)
## -----------------------------------------------------------------------------
# A Saturday / Sunday pair
x <- as.Date(c("2019-12-21", "2019-12-22"))
step <- alma_step(x, c(1, -1), on_weekends)
data.frame(
x = x,
x_wday = wday(x, label = TRUE),
step = step,
step_wday = wday(step, label = TRUE)
)
## -----------------------------------------------------------------------------
working_day <- stepper(on_weekends)
x %s+% working_day(c(1, -1))
## -----------------------------------------------------------------------------
# A Wednesday
wednesday <- as.Date("2019-12-18")
# Returns Thursday, Friday, Monday
wednesday %s+% working_day(1:3)
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.