gs is a grammar of recurring calendar events, implemented as an R package. It enables users to easily create and work with schedules, even in cases when the pattern of events is irregular.
gs does this by providing a set of simple to understand functions for making schedules along with functions for combining them to form more complex ones.
gs grammar is both flexible and declarative. The flexibility allows users to compose arbitrarily complex schedules from simple and intuitive buildings blocks. Because the grammar is declarative, the user need not concern themselves with the details of how a particular schedule works, rather they can specify what they want from a schedule and let
gs implement it for them.
The package is currently experimental. Users are cautioned against relying on it for anything of importance. It can be downloaded from Github:
Feedback, contributions, bug report and suggestions are welcome and can be made in the issues tab of the Github repo.
If you have not used
gs before, the best place to get started is the introductory vignette.
Finally I’d also like to thank Garrett Grolemund and Hadley Wickham who in their paper2 on
lubridate inspired me to create
gs and pointed me in Fowler’s direction:
In particular, we hope to create methods for R that work with reoccurring temporal date patterns, which were introduced by Fowler (1997).