View source: R/simulation-spades.R
scheduleEvent | R Documentation |
Adds a new event to the simulation's event queue, updating the simulation object.
scheduleEvent(
sim,
eventTime,
moduleName,
eventType,
eventPriority = .pkgEnv$.normalVal,
.skipChecks = FALSE
)
sim |
A |
eventTime |
A numeric specifying the time of the next event. |
moduleName |
A character string specifying the module from which to
call the event. If missing, it will use
|
eventType |
A character string specifying the type of event from within the module. |
eventPriority |
A numeric specifying the priority of the event.
Lower number means higher priority. As a best practice, it is
recommended that decimal values are conceptual
grouped by their integer values (e.g., 4.0, 4.25, 4.5 are conceptually
similar).
See |
.skipChecks |
Logical. If |
Here, we implement a simulation in a more modular fashion so it's easier to add
submodules to the simulation. We use S4 classes and methods, and use data.table
instead of data.frame
to implement the event queue (because it is much faster).
Returns the modified simList
object.
Alex Chubaty
Matloff, N. (2011). The Art of R Programming (ch. 7.8.3). San Francisco, CA: No Starch Press, Inc.. Retrieved from https://nostarch.com/artofr.htm
priority()
, scheduleConditionalEvent()
sim <- simInit()
sim <- scheduleEvent(sim, time(sim) + 1.0, "fireSpread", "burn") # default priority
sim <- scheduleEvent(sim, time(sim) + 1.0, "fireSpread", "burn", .normal()) # default priority
sim <- scheduleEvent(sim, time(sim) + 1.0, "fireSpread", "burn", .normal()-1) # higher priority
sim <- scheduleEvent(sim, time(sim) + 1.0, "fireSpread", "burn", .normal()+1) # lower priority
sim <- scheduleEvent(sim, time(sim) + 1.0, "fireSpread", "burn", .highest()) # highest priority
sim <- scheduleEvent(sim, time(sim) + 1.0, "fireSpread", "burn", .lowest()) # lowest priority
events(sim) # shows all scheduled events, with eventTime and priority
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.