rbundle-set {almanac}R Documentation

Create a new set-based recurrence bundle

Description

Often, a single rrule will be sufficient. However, more complex recurrence objects can be constructed by combining multiple rschedules into a recurrence bundle.

There are three types of recurrence bundles provided in almanac, each of which construct their event sets by performing a set operation on the underlying event sets of the rschedules in the bundle.

Once you have created a recurrence bundle, you can:

Usage

rintersect()

rsetdiff()

runion()

Details

For rsetdiff(), the event set is created "from left to right" and depends on the order that the rschedules were added to the bundle.

Value

An empty rbundle.

See Also

add_rschedule()

Examples

since <- "2019-04-01"
until <- "2019-05-31"

on_weekends <- weekly(since = since, until = until) %>%
  recur_on_weekends()

on_25th <- monthly(since = since, until = until) %>%
  recur_on_mday(25)

# On weekends OR the 25th of the month
ru <- runion() %>%
  add_rschedule(on_weekends) %>%
  add_rschedule(on_25th)

alma_events(ru)

# On weekends AND the 25th of the month
ri <- rintersect() %>%
  add_rschedule(on_weekends) %>%
  add_rschedule(on_25th)

alma_events(ri)

# On weekends AND NOT the 25th of the month
rsd1 <- rsetdiff() %>%
  add_rschedule(on_weekends) %>%
  add_rschedule(on_25th)

alma_events(rsd1)

# On the 25th of the month AND NOT the weekend
rsd2 <- rsetdiff() %>%
  add_rschedule(on_25th) %>%
  add_rschedule(on_weekends)

alma_events(rsd2)

[Package almanac version 0.1.1 Index]