sims is an R package to generate datasets from JAGS or R code for use in simulation studies.
nlists
ObjectsBy default, sims_simulate()
returns the simulated
datasets in the form of an nlists object.
.rds
FilesIf, however, save = TRUE
then each nlist object is saved
as an .rds
file in path
.
set.seed(10)
sims_simulate("a <- runif(1)", nsims = 2L, save = TRUE, path = tempdir(), exists = NA)
#> [1] TRUE
sims_data_files(tempdir())
#> [1] "data0000001.rds" "data0000002.rds"
.rds
FilesThe datasets in the .rds
files can be imported as an
nlists
object using sims_data()
.
.rds
FilesThe values including the .Random.seed
(not printed) that
were used to generate the datasets are saved in
.sims_args.rds
which can be imported using
sims_info()
.
sims_info(tempdir())[1:5]
#> $code
#> [1] "a <- runif(1)"
#>
#> $constants
#> an nlist object with 0 numeric elements
#>
#> $parameters
#> an nlist object with 0 numeric elements
#>
#> $monitor
#> [1] "a"
#>
#> $nsims
#> [1] 2
The fact that the arguments to sims_simulate()
are saved
to file allows additional .rds
datasets to be generated
using sims_add()
.
.rds
FilesIf the user wishes to duplicate the datasets then they can either
regenerate them by specifying a different path but the same seed (using
set.seed()
). Alternatively, they can copy the existing
.sims.rds
and datasets files to a new directory using
sims_copy()
.rds
FilesA user can check that all the datasets specified in
.sims.rds
are present using sims_check()
.
Parallelization is implemented using the future package.
To use all available cores on the local machine simply execute the
following code before calling sims_simulate()
.
Progress is reported using the progressr package as follows.