Datetimes as Integers for Discrete-Event Simulations.
simtimer
simtimer in a little R package designed to simplify (and speeding up) calculating time intervals in discrete event simulations.
Discrete event simulations is a simulation paradigm that is based on the evaluation of events taking place in a time-specific order. Therefore a discrete event simulation calculates many time intervals. simtimer handles dates and times as integers. This makes working with time intervals as easy (and as fast) as subtracting integers.
Installation
You can install simtimer from CRAN
or github
with:
install.packages("simtimer")
# install.packages("devtools")
devtools::install_github("ims-fhs/simtimer")
Example
Simtimer allows transformation between datetimes (POSIXt) and sim_datetimes (integer) with sim_datetime()
and datetime()
.
origin_date <- as.POSIXct("2016-01-01 00:00:00", tz = "UTC")
my_datetime <- as.POSIXct("2016-01-02 01:01:01", tz = "UTC")
my_simdatetime <- as.sim_datetime(my_datetime, origin_date)
my_simdatetime
#> [1] 90061
as.datetime(my_simdatetime, origin_date)
#> [1] "2016-01-02 01:01:01 UTC"
Simtimer allows to manipulate sim_datetimes and extract parts of sim_datetimes with sim_time()
, sim_wday()
and sim_date()
.
sim_time(my_simdatetime)
#> [1] 3661
sim_wday(my_simdatetime, origin_date)
#> [1] "6"
sim_date(my_simdatetime)
#> [1] 1