rvmapply is the rv-compatible version of mapply. It repeats the function FUN for each joint draw of the random (or constant) arguments, while allowing vectorizing.

rvmapply(
  FUN,
  ...,
  MoreArgs = NULL,
  SIMPLIFY = FALSE,
  USE.NAMES = TRUE,
  SAMPLESIZE = NULL
)

Arguments

FUN

the function to apply to the simulations of X.

...

further arguments to FUN, possibly random vectors or array.

MoreArgs

Other args passed to FUN `as is' (must not be rv objects unless the function already accepts them)

SIMPLIFY

logical; see mapply for details

USE.NAMES

logical; see mapply for details

SAMPLESIZE

if specified, takes a (joint) sample of the simulations and processes only them.

Value

Depends on FUN; a random vector or array if FUN is numeric.

Details

rvmapply applies a given function to each simulation (vector or array) of the given random vectors, returning a the results as a random vector or array.

The dimensions of each joint draw are preserved. For an example, see solve, that returns the distribution of the inverse of a random matrix.

Usually used in functions that implement an 'rv'-compatible routine.

For an example of a function that uses SAMPLESIZE, abline.

Note

If the function (FUN) has an argument ``FUN", it must be specified within the list supplied to MoreArgs.

References

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").

See also

Author

Jouni Kerman jouni@kerman.com