rset {almanac} | R Documentation |
Create a new set-based recurrence schedule
Description
Often, a single rrule will be sufficient. However, more complex recurrence objects can be constructed by combining multiple rschedules into a recurrence set.
There are three types of recurrence sets provided in almanac, each of which construct their event sets by performing a set operation on the underlying events of the rschedules in the set.
-
runion()
takes the union. -
rintersect()
takes the intersection. -
rsetdiff()
takes the set difference.
Usage
runion(...)
rintersect(...)
rsetdiff(...)
Arguments
... |
rschedule objects to add to the set. |
Details
For rsetdiff()
, the event set is created "from left to right" and depends
on the order that the rschedules were added to the set.
Value
A runion, rintersect, or rsetdiff.
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_day_of_month(25)
# On weekends OR the 25th of the month
ru <- runion(on_weekends, on_25th)
alma_events(ru)
# On weekends AND the 25th of the month
ri <- rintersect(on_weekends, on_25th)
alma_events(ri)
# On weekends AND NOT the 25th of the month
rsd1 <- rsetdiff(on_weekends, on_25th)
alma_events(rsd1)
# On the 25th of the month AND NOT the weekend
rsd2 <- rsetdiff(on_25th, on_weekends)
alma_events(rsd2)
[Package almanac version 1.0.0 Index]