Learn R Programming

SimDesign (version 2.2)

createDesign: Create the simulation Design object

Description

Create a partially or fully-crossed data object reflecting the unique simulation design conditions. Each row of the returned object represents a unique simulation condition, and each column represents the named factor variables under study.

Usage

createDesign(..., subset, tibble = TRUE, stringsAsFactors = FALSE)

# S3 method for Design print(x, list2char = TRUE, ...)

Arguments

...

comma separated list of named input objects representing the simulation factors to completely cross. Note that these arguments are passed to expand.grid to perform the complete crossings

subset

(optional) a logical vector indicating elements or rows to keep to create a partially crossed simulation design

tibble

logical; return a tibble object instead of a data.frame? Default is TRUE

stringsAsFactors

logical; should character variable inputs be coerced to factors when building a data.frame? Default is FALSE

x

object returned by createDesign

list2char

logical; for tibble object re-evaluate list elements as character vectors for better printing of the levels? Note that this does not change the original classes of the object, just how they are printed. Default is TRUE

Value

a tibble or data.frame containing the simulation experiment conditions to be evaluated in runSimulation

References

Chalmers, R. P., & Adkins, M. C. (2020). Writing Effective and Reliable Monte Carlo Simulations with the SimDesign Package. The Quantitative Methods for Psychology, 16(4), 248-280. 10.20982/tqmp.16.4.p248

Sigal, M. J., & Chalmers, R. P. (2016). Play it again: Teaching statistics with Monte Carlo simulation. Journal of Statistics Education, 24(3), 136-156. 10.1080/10691898.2016.1246953

Examples

Run this code
# NOT RUN {
# modified example from runSimulation()

Design <- createDesign(N = c(10, 20),
                       SD = c(1, 2))
Design

# remove N=10, SD=2 row from initial definition
Design <- createDesign(N = c(10, 20),
                       SD = c(1, 2),
                       subset = !(N == 10 & SD == 2))
Design

# example with list inputs
Design <- createDesign(N = c(10, 20),
                       SD = c(1, 2),
                       combo = list(c(0,0), c(0,0,1)))
Design   # notice levels printed (not typical for tibble)
print(Design, list2char = FALSE)   # standard tibble output

Design <- createDesign(N = c(10, 20),
                       SD = c(1, 2),
                       combo = list(c(0,0), c(0,0,1)),
                       combo2 = list(c(5,10,5), c(6,7)))
Design
print(Design, list2char = FALSE)   # standard tibble output

# }

Run the code above in your browser using DataLab