Learn R Programming

⚠️There's a newer version (1.1.9) of this package.Take me there.

simTool

An R-Package that facilitates simulation studies. It disengages the researcher from administrative source code.

The simTool package is designed for statistical simulations that have two components. One component generates the data and the other one analyzes the data. The main aims of the simTool package are the reduction of the administrative source code (mainly loops and management code for the results) and a simple applicability of the package that allows the user to quickly learn how to work with the simTool package. Parallel computing is also supported. Finally, convenient functions are provided to summarize the simulation results.

Example

This small simulation (using 4 cores) illustrates how the confidence interval based on the t-distribution performs on exponential distributed random variables. The following lines generate exponential distributed random variables of size 10, 50, 100, and 1000. Afterwards the t.test using confidence levels 0.8, 0.9, 0.95 are applied. This is repeated 1000 times to estimate the coverage:

library(simTool)
dg <- expand_tibble(fun = "rexp", rate = 10, n = c(10L, 50L, 100L, 1000L))
pg <- expand_tibble(proc = "t.test", conf.level = c(0.8, 0.9, 0.95))
et <- eval_tibbles(dg, pg, 
  ncpus = 4,
  replications = 10^3,
  post_analyze = function(ttest) tibble::tibble(
    coverage = ttest$conf.int[1] <= 1 / 10 && 1 / 10 <= ttest$conf.int[2]),
  summary_fun = list(mean = mean)
)
et
#> # A tibble: 12 x 8
#>    fun    rate     n replications summary_fun proc   conf.level coverage
#>    <chr> <dbl> <int>        <int> <chr>       <chr>       <dbl>    <dbl>
#>  1 rexp     10    10            1 mean        t.test       0.8     0.754
#>  2 rexp     10    10            1 mean        t.test       0.9     0.855
#>  3 rexp     10    10            1 mean        t.test       0.95    0.905
#>  4 rexp     10    50            1 mean        t.test       0.8     0.808
#>  5 rexp     10    50            1 mean        t.test       0.9     0.905
#>  6 rexp     10    50            1 mean        t.test       0.95    0.945
#>  7 rexp     10   100            1 mean        t.test       0.8     0.792
#>  8 rexp     10   100            1 mean        t.test       0.9     0.895
#>  9 rexp     10   100            1 mean        t.test       0.95    0.936
#> 10 rexp     10  1000            1 mean        t.test       0.8     0.796
#> 11 rexp     10  1000            1 mean        t.test       0.9     0.897
#> 12 rexp     10  1000            1 mean        t.test       0.95    0.953
#> Number of data generating functions: 4
#> Number of analyzing procedures: 3
#> Number of replications: 1000
#> Estimated replications per hour: 754228
#> Start of the simulation: 2019-02-01 23:25:01
#> End of the simulation: 2019-02-01 23:25:05

Installation

You can install simTool from github with:

install.packages("simTool")
# install.packages("devtools")
devtools::install_github("MarselScheer/simTool")

Or from CRAN with:

install.packages("simTool")

Copy Link

Version

Install

install.packages('simTool')

Monthly Downloads

368

Version

1.1.4

License

GPL-3

Issues

Pull Requests

Stars

Forks

Maintainer

Marsel Scheer

Last Published

September 14th, 2019

Functions in simTool (1.1.4)

expandGrid

Creates a data.frame from All Combinations
evalGrids

Workhorse for simulation studies
simTool-package

Conduct Simulation Studies with a Minimal Amount of Source Code
as.data.frame.evalGrid

Converts an evalGrid object into a data.frame
print.eval_tibbles

Printing simulation results
eval_tibbles

Workhorse for simulation studies
expand_tibble

Creates a tibble from All Combinations
meanAndNormCI

A convenient function to calculate the mean and a 95% confidence interval