rvsims takes a vector, matrix, or list (sims) containing
simulations, and returns a random vector (an object of type 'rv')
rvsims(sims, n.sims = getnsims(), permute = FALSE)an array of simulations (1, or 2-dimensional) or a list
number of simulations to save
logical, indicate if scramble the simulations
If sims is a plain numeric vector, this is interpreted to be
equivalent to a one-dimensional array, containing simulations for one single
random variable.
If the array sims is one-dimensional, this is interpreted to be
equivalent to a two-dimensional array with 1 column.
If sims is two-dimensional, the columns are supposed to
contain simulations for one or more several random variables.
If sims is a list, the numeric vectors are recursively combined to a
list of random vectors: each component of the list is supposed to be
containing one (joint) draw from some distribution---this may be a
list.
If permute is TRUE, the simulations are scrambled, i.e. the
joint draws are permuted randomly.
Kerman, J. and Gelman, A. (2007). Manipulating and Summarizing Posterior Simulations Using Random Variable Objects. Statistics and Computing 17:3, 235-244.
See also vignette("rv").
## x and y have the same distributions but not the same simulations:
n.sims <- 200L
setnsims(n.sims)
#> [1] 1000
y <- rvnorm(1)
x1 <- rvsims(rnorm(n.sims))
##
s <- sims(x1)
z <- array(s) ## One-dimensional array
x2 <- rvsims(z) ## Same as
##
identical(x1, x2) ## TRUE
#> [1] TRUE
##
s <- t(array(rnorm(n.sims * 2, mean=c(0, 10)), dim=c(2, n.sims)))
x3 <- rvsims(s)
identical(2L, length(x3)) ## TRUE
#> [1] TRUE