Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create experiments and replication #265

Closed
eliotmcintire opened this issue Apr 1, 2016 · 2 comments
Closed

Create experiments and replication #265

eliotmcintire opened this issue Apr 1, 2016 · 2 comments

Comments

@eliotmcintire
Copy link
Contributor

I think there are 3 options:

  1. Push it all into the simList.
  2. Add more args to spades()
  3. Make a wrapper around spades call,with a new function name

I like option 2 or 3. It is too cumbersome to have to specify entirely new simList if only one parameter is different. Something like:
experiment(simList, replication=10L, params=list(spreadProb=c(0.22,0.23), growthExponent=c(2,2.2))

(These parameters will have to be module specific, I am just being lazy here)

Would also work with something like: modules=list("fireSense", "fireBEACONs")

(That is not fully formed thought for modules, how does it know which modules to use... Does it need entire list of modules twice if there are two levels to the experiment? )

The function would do several things:

  1. Create as many simLists as needed to do a fully factorial experiment, in the parameter example above: 4 simLists. Don't need new simLists for replicates.
  2. Create subdirectories inside outputPath corresponding to factors. I think these should be flat, i.e. 1 level inside outputPath, not 2, but with names that identify the factorial identity
  3. Create sub-sub directories for replicates. No deeper.
  4. Pass these as new outputPath to each simList
  5. Use a mechanism similar to raster package for parallel calculations. If raster::makeCluster (need to verify actual function name) has been run and created, then experiment() will automatically run using cluster. If not then it is serial running.
  6. All file saving will be exactly as in the saving of each of the modules and outputs, only outputPath is unique.

Thoughts? @achubaty @SteveCumming

@eliotmcintire
Copy link
Contributor Author

Major first draft, with commit 02135d1
Needs more detailed documentation still. But it works for replication, plus full factorial experiments with parameters and modules.

@achubaty
Copy link
Contributor

closing as this has been incorporated into the forthcoming v1.1.2 release

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants